Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYves Combe <ycombe@src.gnome.org>2006-12-13 00:19:06 (GMT)
committer Yves Combe <ycombe@src.gnome.org>2006-12-13 00:19:06 (GMT)
commit859668e6b119d86f593d81ee33482289575d1ecd (patch)
tree243452c7d3279e0ef43f7fd93844bdabcfcbb0cb
parent396f490db037b71397be41fe5099e2506756b4c2 (diff)
Merge code with HEAD before integrating gc_sound in gcompris.
-rw-r--r--ChangeLog239
-rw-r--r--INSTALL2
-rw-r--r--Makefile.mingw.in5
-rw-r--r--README.mingw7
-rw-r--r--boards/Makefile.am3
-rw-r--r--boards/babyshapes/board1_0.xml.in2
-rw-r--r--boards/babyshapes/board2_0.xml.in2
-rw-r--r--boards/babyshapes/board3_0.xml.in2
-rw-r--r--boards/babyshapes/board4_0.xml.in2
-rw-r--r--boards/babyshapes/board5_0.xml.in2
-rw-r--r--boards/babyshapes/board6_0.xml.in2
-rw-r--r--boards/babyshapes/board7_0.xml.in2
-rw-r--r--boards/boardicons/chat.pngbin0 -> 5937 bytes
-rw-r--r--boards/chat.xml.in16
-rw-r--r--boards/clickgame.xml.in19
-rw-r--r--boards/clickgame/README3
-rw-r--r--boards/clickgame/sea1.jpgbin0 -> 84479 bytes
-rw-r--r--boards/clickgame/sea2.jpgbin0 -> 76028 bytes
-rw-r--r--boards/clickgame/sea3.jpgbin0 -> 95986 bytes
-rw-r--r--boards/clickgame/sea4.jpgbin0 -> 76201 bytes
-rw-r--r--boards/clickgame/sea5.jpgbin0 -> 124757 bytes
-rw-r--r--boards/clickgame/sea6.jpgbin0 -> 34816 bytes
-rw-r--r--boards/flags/ko.pngbin0 -> 1891 bytes
-rw-r--r--boards/images/transparent_square_green.pngbin0 -> 4444 bytes
-rw-r--r--boards/images/transparent_square_yellow.pngbin0 -> 3646 bytes
-rw-r--r--boards/scales/Makefile.am35
-rw-r--r--boards/scales/balance.pngbin0 -> 18004 bytes
-rw-r--r--boards/scales/board1_0.xml.in14
-rw-r--r--boards/scales/board1_1.xml.in14
-rw-r--r--boards/scales/board1_2.xml.in15
-rw-r--r--boards/scales/board1_3.xml.in15
-rw-r--r--boards/scales/board1_4.xml.in15
-rw-r--r--boards/scales/board1_5.xml.in15
-rw-r--r--boards/scales/board2_0.xml.in15
-rw-r--r--boards/scales/board2_1.xml.in16
-rw-r--r--boards/scales/board2_2.xml.in16
-rw-r--r--boards/scales/board2_3.xml.in16
-rw-r--r--boards/scales/board2_4.xml.in16
-rw-r--r--boards/scales/board2_5.xml.in16
-rw-r--r--boards/scales/board3_0.xml.in16
-rw-r--r--boards/scales/board3_1.xml.in16
-rw-r--r--boards/scales/board3_2.xml.in16
-rw-r--r--boards/scales/board3_3.xml.in17
-rw-r--r--boards/scales/board3_4.xml.in17
-rw-r--r--boards/scales/board3_5.xml.in17
-rw-r--r--boards/scales/bras.pngbin0 -> 3180 bytes
-rw-r--r--boards/scales/plateau.pngbin0 -> 5479 bytes
-rw-r--r--boards/scales/scales.pngbin50493 -> 0 bytes
-rw-r--r--boards/scales/tabepice.jpgbin43837 -> 69638 bytes
-rw-r--r--boards/scalesboard.xml.in4
-rw-r--r--boards/skins/gartoon/cursor_circle.pngbin0 -> 3203 bytes
-rw-r--r--boards/skins/gartoon/cursor_default.pngbin0 -> 2184 bytes
-rw-r--r--boards/skins/gartoon/cursor_del.pngbin0 -> 5170 bytes
-rw-r--r--boards/skins/gartoon/cursor_fill.pngbin0 -> 2681 bytes
-rw-r--r--boards/skins/gartoon/cursor_fillcircle.pngbin0 -> 2969 bytes
-rw-r--r--boards/skins/gartoon/cursor_fillrect.pngbin0 -> 2836 bytes
-rw-r--r--boards/skins/gartoon/cursor_line.pngbin0 -> 1683 bytes
-rw-r--r--boards/skins/gartoon/cursor_rect.pngbin0 -> 2598 bytes
-rw-r--r--boards/skins/gartoon/cursor_select.pngbin0 -> 2378 bytes
-rw-r--r--boards/sounds/Harbor1.wavbin0 -> 74796 bytes
-rw-r--r--boards/sounds/Harbor3.wavbin0 -> 88254 bytes
-rw-r--r--boards/sounds/README5
-rw-r--r--boards/sounds/Water5.wavbin0 -> 88368 bytes
-rw-r--r--boards/sounds/apert2.wavbin0 -> 60904 bytes
-rw-r--r--boards/sounds/bleep.wavbin0 -> 1356 bytes
-rw-r--r--boards/sounds/brick.wavbin0 -> 15266 bytes
-rw-r--r--boards/sounds/bubble.wavbin0 -> 12302 bytes
-rw-r--r--boards/sounds/darken.wavbin0 -> 9356 bytes
-rw-r--r--boards/sounds/drip.wavbin0 -> 1484 bytes
-rw-r--r--boards/sounds/eat.wavbin0 -> 22634 bytes
-rw-r--r--boards/sounds/eraser1.wavbin0 -> 9566 bytes
-rw-r--r--boards/sounds/eraser2.wavbin0 -> 8382 bytes
-rw-r--r--boards/sounds/flip.wavbin0 -> 976 bytes
-rw-r--r--boards/sounds/fr/geography/africa.oggbin10993 -> 14710 bytes
-rw-r--r--boards/sounds/fr/geography/america.oggbin15654 -> 21298 bytes
-rw-r--r--boards/sounds/fr/geography/basse-normandie.oggbin0 -> 19476 bytes
-rw-r--r--boards/sounds/fr/geography/champagne-ardenne.oggbin0 -> 18870 bytes
-rw-r--r--boards/sounds/fr/geography/franche-conte.oggbin0 -> 12380 bytes
-rw-r--r--boards/sounds/fr/geography/oceania.oggbin11140 -> 18358 bytes
-rw-r--r--boards/sounds/fr/geography/poitou-charentes.oggbin0 -> 16534 bytes
-rw-r--r--boards/sounds/fr/geography/slovania.oggbin0 -> 17133 bytes
-rw-r--r--boards/sounds/grow.wavbin0 -> 6694 bytes
-rw-r--r--boards/sounds/line_end.wavbin0 -> 8170 bytes
-rw-r--r--boards/sounds/melody/guitar/son1.oggbin4640 -> 14576 bytes
-rw-r--r--boards/sounds/melody/guitar/son2.oggbin4628 -> 11249 bytes
-rw-r--r--boards/sounds/melody/guitar/son3.oggbin4631 -> 10465 bytes
-rw-r--r--boards/sounds/melody/guitar/son4.oggbin4649 -> 7168 bytes
-rw-r--r--boards/sounds/melody/xylofon/son1.oggbin4910 -> 50654 bytes
-rw-r--r--boards/sounds/melody/xylofon/son2.oggbin6235 -> 50979 bytes
-rw-r--r--boards/sounds/melody/xylofon/son3.oggbin5958 -> 53949 bytes
-rw-r--r--boards/sounds/melody/xylofon/son4.oggbin6388 -> 50580 bytes
-rw-r--r--boards/sounds/paint1.wavbin0 -> 3120 bytes
-rw-r--r--boards/sounds/prompt.wavbin0 -> 2196 bytes
-rw-r--r--boards/sounds/receive.wavbin0 -> 55008 bytes
-rw-r--r--boards/sounds/smudge.wavbin0 -> 21548 bytes
-rw-r--r--boards/sounds/so/alphabet/README47
-rw-r--r--boards/sounds/so/colors/README11
-rw-r--r--boards/sounds/so/geography/README68
-rw-r--r--boards/sounds/so/misc/README21
-rw-r--r--boards/sounds/tuxok.wavbin0 -> 129418 bytes
-rw-r--r--boards/sounds/youcannot.wavbin0 -> 182630 bytes
-rw-r--r--configure.in37
-rw-r--r--docs/C/python.html12
-rw-r--r--docs/C/python.xml7
-rwxr-xr-xdocs/gcompris2spip.pl5
-rw-r--r--po/ChangeLog28
-rw-r--r--po/POTFILES.in2
-rw-r--r--po/ar.po476
-rw-r--r--po/es.po545
-rw-r--r--po/it.po7159
-rw-r--r--po/ko.po6156
-rw-r--r--po/pt_BR.po760
-rw-r--r--src/boards/Makefile.am4
-rw-r--r--src/boards/advanced_colors.c1
-rw-r--r--src/boards/algebra_guesscount.c3
-rw-r--r--src/boards/canal_lock.c6
-rw-r--r--src/boards/clickgame.c43
-rw-r--r--src/boards/clockgame.c27
-rw-r--r--src/boards/colors.c1
-rw-r--r--src/boards/enumerate.c6
-rw-r--r--src/boards/erase.c111
-rw-r--r--src/boards/gletters.c3
-rw-r--r--src/boards/hanoi.c5
-rw-r--r--src/boards/leftright.c2
-rw-r--r--src/boards/machpuzzle.c2
-rw-r--r--src/boards/maze.c25
-rw-r--r--src/boards/memory.c13
-rw-r--r--src/boards/menu2.c2
-rw-r--r--src/boards/paratrooper.c112
-rw-r--r--src/boards/py-mod-gcompris.c2
-rw-r--r--src/boards/py-mod-sound.c8
-rw-r--r--src/boards/python/Makefile.am1
-rw-r--r--src/boards/python/algorithm.py5
-rw-r--r--src/boards/python/anim.py58
-rw-r--r--src/boards/python/ballcatch.py4
-rw-r--r--src/boards/python/chat.py277
-rw-r--r--src/boards/python/electric.py62
-rw-r--r--src/boards/python/followline.py34
-rw-r--r--src/boards/python/gnumch.py18
-rw-r--r--src/boards/python/hexagon.py23
-rw-r--r--src/boards/python/melody.py3
-rw-r--r--src/boards/python/mosaic.py3
-rw-r--r--src/boards/python/tuxpaint.py13
-rw-r--r--src/boards/python/watercycle.py43
-rw-r--r--src/boards/railroad.c2
-rw-r--r--src/boards/read_colors.c1
-rw-r--r--src/boards/scale.c862
-rw-r--r--src/boards/shapegame.c1092
-rw-r--r--src/boards/smallnumbers.c47
-rw-r--r--src/boards/submarine.c14
-rw-r--r--src/boards/target.c4
-rw-r--r--src/boards/wordprocessor.c10
-rw-r--r--src/boards/wordsgame.c3
-rw-r--r--src/gc_sound/configure.in_ALONE (renamed from src/gc_sound/configure.in)0
-rw-r--r--src/gc_sound/python/Makefile.am7
-rw-r--r--src/gc_sound/src/Makefile.am6
-rw-r--r--src/gc_sound/src/gc-sound-channel.c7
-rw-r--r--src/gc_sound/src/gc-sound-item.c1
-rw-r--r--src/gc_sound/src/gc-sound-item.h5
-rw-r--r--src/gc_sound/src/gc-sound-mixer-SDL.c14
-rw-r--r--src/gcompris/Makefile.am8
-rw-r--r--src/gcompris/Makefile.mingw1
-rw-r--r--src/gcompris/about.c2
-rw-r--r--src/gcompris/bar.c1
-rw-r--r--src/gcompris/board_config.c94
-rw-r--r--src/gcompris/board_config.h2
-rw-r--r--src/gcompris/config.c5
-rw-r--r--src/gcompris/cursor.c89
-rw-r--r--src/gcompris/cursor.h455
-rw-r--r--src/gcompris/dialog.c2
-rw-r--r--src/gcompris/drag.c177
-rw-r--r--src/gcompris/drag.h49
-rw-r--r--src/gcompris/gameutil.c2
-rw-r--r--src/gcompris/gcompris.c73
-rw-r--r--src/gcompris/gcompris.h17
-rw-r--r--src/gcompris/help.c14
-rw-r--r--src/gcompris/pixbuf_util.c37
-rw-r--r--src/gcompris/pixbuf_util.h1
-rw-r--r--src/gcompris/properties.c3
-rw-r--r--src/gcompris/properties.h1
-rw-r--r--src/gcompris/sdlplayer.c17
-rw-r--r--src/gcompris/soundutil.c29
182 files changed, 16859 insertions, 3183 deletions
diff --git a/ChangeLog b/ChangeLog
index ab84474..ce7799e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,242 @@
+2006-12-13 Yves Combe <yves@ycombe.net>
+
+ Merge code with HEAD before integrating gc_sound in gcompris.
+
+ * INSTALL:
+ * Makefile.mingw.in:
+ * README.mingw:
+ * boards/Makefile.am:
+ * boards/babyshapes/board1_0.xml.in:
+ * boards/babyshapes/board2_0.xml.in:
+ * boards/babyshapes/board3_0.xml.in:
+ * boards/babyshapes/board4_0.xml.in:
+ * boards/babyshapes/board5_0.xml.in:
+ * boards/babyshapes/board6_0.xml.in:
+ * boards/babyshapes/board7_0.xml.in:
+ * boards/boardicons/chat.png:
+ * boards/chat.xml.in:
+ * boards/clickgame.xml.in:
+ * boards/clickgame/README:
+ * boards/clickgame/sea1.jpg:
+ * boards/clickgame/sea2.jpg:
+ * boards/clickgame/sea3.jpg:
+ * boards/clickgame/sea4.jpg:
+ * boards/clickgame/sea5.jpg:
+ * boards/clickgame/sea6.jpg:
+ * boards/flags/ko.png:
+ * boards/images/transparent_square_green.png:
+ * boards/images/transparent_square_yellow.png:
+ * boards/scales/Makefile.am:
+ * boards/scales/balance.png:
+ * boards/scales/board1_0.xml.in:
+ * boards/scales/board1_1.xml.in:
+ * boards/scales/board1_2.xml.in:
+ * boards/scales/board1_3.xml.in:
+ * boards/scales/board1_4.xml.in:
+ * boards/scales/board1_5.xml.in:
+ * boards/scales/board2_0.xml.in:
+ * boards/scales/board2_1.xml.in:
+ * boards/scales/board2_2.xml.in:
+ * boards/scales/board2_3.xml.in:
+ * boards/scales/board2_4.xml.in:
+ * boards/scales/board2_5.xml.in:
+ * boards/scales/board3_0.xml.in:
+ * boards/scales/board3_1.xml.in:
+ * boards/scales/board3_2.xml.in:
+ * boards/scales/board3_3.xml.in:
+ * boards/scales/board3_4.xml.in:
+ * boards/scales/board3_5.xml.in:
+ * boards/scales/bras.png:
+ * boards/scales/plateau.png:
+ * boards/scales/scales.png:
+ * boards/scales/tabepice.jpg:
+ * boards/scalesboard.xml.in:
+ * boards/skins/gartoon/cursor_circle.png:
+ * boards/skins/gartoon/cursor_default.png:
+ * boards/skins/gartoon/cursor_del.png:
+ * boards/skins/gartoon/cursor_fill.png:
+ * boards/skins/gartoon/cursor_fillcircle.png:
+ * boards/skins/gartoon/cursor_fillrect.png:
+ * boards/skins/gartoon/cursor_line.png:
+ * boards/skins/gartoon/cursor_rect.png:
+ * boards/skins/gartoon/cursor_select.png:
+ * boards/sounds/Harbor1.wav:
+ * boards/sounds/Harbor3.wav:
+ * boards/sounds/README:
+ * boards/sounds/Water5.wav:
+ * boards/sounds/apert2.wav:
+ * boards/sounds/bleep.wav:
+ * boards/sounds/brick.wav:
+ * boards/sounds/bubble.wav:
+ * boards/sounds/darken.wav:
+ * boards/sounds/drip.wav:
+ * boards/sounds/eat.wav:
+ * boards/sounds/eraser1.wav:
+ * boards/sounds/eraser2.wav:
+ * boards/sounds/flip.wav:
+ * boards/sounds/fr/geography/africa.ogg:
+ * boards/sounds/fr/geography/america.ogg:
+ * boards/sounds/fr/geography/basse-normandie.ogg:
+ * boards/sounds/fr/geography/champagne-ardenne.ogg:
+ * boards/sounds/fr/geography/franche-conte.ogg:
+ * boards/sounds/fr/geography/oceania.ogg:
+ * boards/sounds/fr/geography/poitou-charentes.ogg:
+ * boards/sounds/fr/geography/slovania.ogg:
+ * boards/sounds/grow.wav:
+ * boards/sounds/line_end.wav:
+ * boards/sounds/melody/guitar/son1.ogg:
+ * boards/sounds/melody/guitar/son2.ogg:
+ * boards/sounds/melody/guitar/son3.ogg:
+ * boards/sounds/melody/guitar/son4.ogg:
+ * boards/sounds/melody/xylofon/son1.ogg:
+ * boards/sounds/melody/xylofon/son2.ogg:
+ * boards/sounds/melody/xylofon/son3.ogg:
+ * boards/sounds/melody/xylofon/son4.ogg:
+ * boards/sounds/paint1.wav:
+ * boards/sounds/prompt.wav:
+ * boards/sounds/receive.wav:
+ * boards/sounds/smudge.wav:
+ * boards/sounds/so/alphabet/README:
+ * boards/sounds/so/colors/README:
+ * boards/sounds/so/geography/README:
+ * boards/sounds/so/misc/README:
+ * boards/sounds/tuxok.wav:
+ * boards/sounds/youcannot.wav:
+ * configure.in:
+ * docs/C/python.html:
+ * docs/C/python.xml:
+ * docs/gcompris2spip.pl:
+ * macros/.cvsignore:
+ * po/ChangeLog:
+ * po/POTFILES.in:
+ * po/ar.po:
+ * po/es.po:
+ * po/it.po:
+ * po/ko.po:
+ * po/pt_BR.po:
+ * src/boards/Makefile.am:
+ * src/boards/advanced_colors.c: (item_event):
+ * src/boards/algebra_guesscount.c: (item_event_oper),
+ (item_event_oper_moved), (item_event_num):
+ * src/boards/canal_lock.c: (move_boat), (toggle_lock):
+ * src/boards/clickgame.c: (fish_gobble), (canvas_event),
+ (clickgame_next_level), (fish_escape), (clickgame_move_item):
+ * src/boards/clockgame.c: (start_board), (end_board), (item_event),
+ (get_random_hour):
+ * src/boards/colors.c: (item_event):
+ * src/boards/enumerate.c: (enumerate_create_item),
+ (item_event_focus), (item_event):
+ * src/boards/erase.c: (start_board), (end_board),
+ (erase_next_level), (erase_destroy_all_items), (erase_create_item),
+ (erase_one_item), (item_event):
+ * src/boards/gletters.c: (gletters_drop_items), (player_win):
+ * src/boards/hanoi.c: (hanoi_create_item):
+ * src/boards/leftright.c: (item_event):
+ * src/boards/machpuzzle.c: (item_event), (minigolf_move):
+ * src/boards/maze.c: (movePos), (key_press),
+ (key_press_2D_relative), (key_press_3D), (twoDdisplay),
+ (threeDdisplay), (update_tux):
+ * src/boards/memory.c: (end_board), (create_item), (check_win),
+ (item_event), (tux_play):
+ * src/boards/menu2.c: (item_event):
+ * src/boards/paratrooper.c: (key_press), (paratrooper_next_level),
+ (paratrooper_move_plane), (paratrooper_move_cloud),
+ (paratrooper_destroy_items), (paratrooper_destroy_all_items),
+ (paratrooper_move_tux), (paratrooper_create_cloud),
+ (paratrooper_add_new_item), (next_state), (item_event):
+ * src/boards/py-mod-gcompris.c: (python_gcompris_module_init):
+ * src/boards/py-mod-sound.c: (py_gc_sound_play_ogg),
+ (pyGcomprisSoundCallback), (py_gc_sound_play_ogg_cb):
+ * src/boards/python/Makefile.am:
+ * src/boards/python/algorithm.py:
+ * src/boards/python/anim.py:
+ * src/boards/python/ballcatch.py:
+ * src/boards/python/chat.py:
+ * src/boards/python/electric.py:
+ * src/boards/python/followline.py:
+ * src/boards/python/gnumch.py:
+ * src/boards/python/hexagon.py:
+ * src/boards/python/melody.py:
+ * src/boards/python/mosaic.py:
+ * src/boards/python/tuxpaint.py:
+ * src/boards/python/watercycle.py:
+ * src/boards/railroad.c: (item_event), (answer_event):
+ * src/boards/read_colors.c: (item_event):
+ * src/boards/scale.c: (pause_board), (start_board), (end_board),
+ (set_level), (is_our_board), (key_press), (get_weight_plateau),
+ (scale_anim_plateau), (scale_item_move_to), (scale_item_event),
+ (scale_drag_event), (scale_list_add_weight),
+ (scale_list_add_object), (test_addition), (scale_make_level),
+ (scale_next_level), (scale_destroy_all_items), (game_won),
+ (process_ok), (save_table), (conf_ok), (config_start),
+ (config_stop):
+ * src/boards/shapegame.c: (start_board), (end_board),
+ (is_our_board), (key_press), (shapegame_next_level), (process_ok),
+ (shapegame_init_canvas), (add_shape_to_list_of_shapes),
+ (dump_shapes), (dump_shape), (shape_goes_back_to_list),
+ (item_to_shape), (target_point_switch_on), (item_event_drag),
+ (item_event), (get_element_count_listgroup), (get_no_void_group),
+ (update_shapelist_item), (item_event_ok), (setup_item),
+ (add_shape_to_canvas), (create_title), (create_shape),
+ (add_xml_shape_to_data), (parse_doc), (read_xml_file), (conf_ok),
+ (config_start):
+ * src/boards/smallnumbers.c: (start_board), (key_press),
+ (smallnumbers_next_level), (smallnumbers_gotkey_item),
+ (smallnumbers_move_item), (smallnumbers_move_items),
+ (smallnumbers_create_item), (smallnumbers_drop_items),
+ (player_win), (save_table), (conf_ok), (smallnumber_config_start):
+ * src/boards/submarine.c: (update_timeout_very_slow),
+ (ballast_av_purge_event), (ballast_ar_purge_event),
+ (regleur_purge_event), (ballast_ar_chasse_event),
+ (ballast_av_chasse_event), (regleur_chasse_event),
+ (barre_av_event), (barre_ar_event), (engine_event),
+ (air_compressor_event), (battery_charger_event):
+ * src/boards/target.c: (animate_items), (launch_dart):
+ * src/boards/wordprocessor.c: (display_style_selector),
+ (display_color_style_selector), (item_event_style_selection),
+ (item_event_color_style_selection):
+ * src/boards/wordsgame.c: (wordsgame_drop_items), (player_win):
+ * src/gc_sound/python/Makefile.am:
+ * src/gc_sound/src/Makefile.am:
+ * src/gc_sound/src/gc-sound-channel.c: (root_destroyed),
+ (gc_sound_channel_get_property), (gc_sound_channel_set_property),
+ (gc_sound_channel_signal_run):
+ * src/gc_sound/src/gc-sound-item.c: (gc_sound_item_init):
+ * src/gc_sound/src/gc-sound-item.h:
+ * src/gc_sound/src/gc-sound-mixer-SDL.c:
+ (gc_sound_mixer_sdl_pause), (gc_sound_mixer_sdl_resume),
+ (gc_sound_mixer_sdl_halt), (gc_sound_mixer_sdl_pause_channel),
+ (gc_sound_mixer_sdl_resume_channel),
+ (gc_sound_mixer_sdl_halt_channel):
+ * src/gcompris/Makefile.am:
+ * src/gcompris/Makefile.mingw:
+ * src/gcompris/about.c: (gc_about_start):
+ * src/gcompris/bar.c: (item_event_bar):
+ * src/gcompris/board_config.c:
+ (gc_board_config_combo_drag_changed), (gc_board_config_combo_drag):
+ * src/gcompris/board_config.h:
+ * src/gcompris/config.c: (item_event_ok):
+ * src/gcompris/cursor.c:
+ * src/gcompris/cursor.h:
+ * src/gcompris/dialog.c: (item_event_ok):
+ * src/gcompris/drag.c: (gc_drag_item_get), (gc_drag_item_set),
+ (gc_drag_item_move), (gc_drag_offset_get), (gc_drag_offset_set),
+ (gc_drag_offset_save), (gc_drag_event), (gc_drag_event_root),
+ (gc_drag_start), (gc_drag_stop), (gc_drag_change_mode):
+ * src/gcompris/drag.h:
+ * src/gcompris/gameutil.c:
+ * src/gcompris/gcompris.c: (gc_cursor_set), (gc_init):
+ * src/gcompris/gcompris.h:
+ * src/gcompris/help.c: (gc_help_start), (item_event_help),
+ (event_disable_right_click_popup):
+ * src/gcompris/pixbuf_util.c: (pixbuf_add_transparent):
+ * src/gcompris/pixbuf_util.h:
+ * src/gcompris/properties.c: (gc_prop_new):
+ * src/gcompris/properties.h:
+ * src/gcompris/sdlplayer.c: (sdlplayer_init), (sdlplayer_reopen):
+ * src/gcompris/soundutil.c: (gc_sound_close), (gc_sound_reopen),
+ (scheduler_music):
+
2006-12-12 Yves Combe <yves@ycombe.net>
GC_SOUND:
diff --git a/INSTALL b/INSTALL
index 729be5a..3d0ce32 100644
--- a/INSTALL
+++ b/INSTALL
@@ -55,11 +55,11 @@ urpmi texi2html
urpmi tetex
urpmi gnuchess
urpmi gnucap
-urpmi libSDL_mixer1.2-devel
urpmi libtool
urpmi libsqlite3_0 libsqlite3_0-devel
urpmi python-sqlite2
urpmi libxxf86vm1-devel
+urpmi libpopt0-devel
WARNING
=======
diff --git a/Makefile.mingw.in b/Makefile.mingw.in
index b3787fd..d9c3667 100644
--- a/Makefile.mingw.in
+++ b/Makefile.mingw.in
@@ -65,10 +65,11 @@ NEEDED_DLLS = $(GNUCHESS_TOP)/bin/pthreadGC.dll \
$(GTK_TOP)/bin/intl.dll \
$(GTK_TOP)/bin/libpng13.dll \
$(GTK_TOP)/bin/jpeg62.dll \
- $(SQLITE_TOP)/sqlite3.dll
+ $(SQLITE_TOP)/sqlite3.dll \
+ /c/WINDOWS/system32/msvcr71.dll
NEEDED_FILES = README \
- COPYING \
+ README.mingw \
COPYING \
Changelog
diff --git a/README.mingw b/README.mingw
index fca1203..24eef25 100644
--- a/README.mingw
+++ b/README.mingw
@@ -25,6 +25,13 @@ to upgrade to newer versions, and (2) they show up as /opt/gtk, /opt/libxml,
and so on from msys, which is reasonably clear. If you choose a different
hierarchy make sure to tweak your Makefile.mingw.
+WARNING: Library Microsoft mscrt71.dll.
+This library is needed only due to python.
+Based on microsoft wev site, it is freely redistributable if you get
+the free Microsoft Visual C++ 2005 Express Edition:
+http://support.microsoft.com/kb/326922/fr
+This library is not free software.
+
2.1 GTK
=======
+ gcompris needs gtk to run.
diff --git a/boards/Makefile.am b/boards/Makefile.am
index 9e0cc8a..b700c2e 100644
--- a/boards/Makefile.am
+++ b/boards/Makefile.am
@@ -1,4 +1,4 @@
-SUBDIRS = gcompris read_colors advanced_colors babymatch babyshapes imageid imagename missing_letter paintings scales doubleentry geography chronos
+SUBDIRS = gcompris read_colors advanced_colors babymatch babyshapes imageid imagename missing_letter paintings doubleentry geography chronos
xmldir = $(pkgdatadir)/@PACKAGE_DATA_DIR@
@@ -20,6 +20,7 @@ xml_in_files = \
bargame.xml.in \
billard.xml.in \
canal_lock.xml.in \
+ chat.xml.in \
chess_computer.xml.in \
chess_movelearn.xml.in \
chess_partyend.xml.in \
diff --git a/boards/babyshapes/board1_0.xml.in b/boards/babyshapes/board1_0.xml.in
index fb2ee8b..6612c80 100644
--- a/boards/babyshapes/board1_0.xml.in
+++ b/boards/babyshapes/board1_0.xml.in
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame>
+<ShapeGame shadow_enable="0">
<Shape name="C" pixmapfile="gcompris/food/marmelade.png" targetfile="babyshapes/T_marmelade.png"
x="594" y="200" zoomx="1" zoomy="1" position="0"/>
<Shape name="D" pixmapfile="gcompris/food/orange.png" targetfile="babyshapes/T_orange.png"
diff --git a/boards/babyshapes/board2_0.xml.in b/boards/babyshapes/board2_0.xml.in
index fe31e71..8d34621 100644
--- a/boards/babyshapes/board2_0.xml.in
+++ b/boards/babyshapes/board2_0.xml.in
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame>
+<ShapeGame shadow_enable="0">
<Shape name="C" pixmapfile="gcompris/food/banana.png" targetfile="babyshapes/T_banana.png"
x="594" y="200" zoomx="1" zoomy="1" position="0"/>
<Shape name="D" pixmapfile="gcompris/food/suggar_box.png" targetfile="babyshapes/T_suggar_box.png"
diff --git a/boards/babyshapes/board3_0.xml.in b/boards/babyshapes/board3_0.xml.in
index d2e0bb4..02d1f29 100644
--- a/boards/babyshapes/board3_0.xml.in
+++ b/boards/babyshapes/board3_0.xml.in
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame>
+<ShapeGame shadow_enable="0">
<Shape name="C" pixmapfile="gcompris/food/milk_shake.png" targetfile="babyshapes/T_milk_shake.png"
x="594" y="200" zoomx="1" zoomy="1" position="0"/>
<Shape name="D" pixmapfile="gcompris/food/pear.png" targetfile="babyshapes/T_pear.png"
diff --git a/boards/babyshapes/board4_0.xml.in b/boards/babyshapes/board4_0.xml.in
index f32773b..760b9ff 100644
--- a/boards/babyshapes/board4_0.xml.in
+++ b/boards/babyshapes/board4_0.xml.in
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame>
+<ShapeGame shadow_enable="0">
<Shape name="C" pixmapfile="gcompris/food/round_cookie.png" targetfile="babyshapes/T_round_cookie.png"
x="594" y="200" zoomx="1" zoomy="1" position="0"/>
<Shape name="D" pixmapfile="gcompris/food/pear.png" targetfile="babyshapes/T_pear.png"
diff --git a/boards/babyshapes/board5_0.xml.in b/boards/babyshapes/board5_0.xml.in
index db2f19c..15aa58f 100644
--- a/boards/babyshapes/board5_0.xml.in
+++ b/boards/babyshapes/board5_0.xml.in
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame>
+<ShapeGame shadow_enable="0">
<Title x="394" y="495" justification="GTK_JUSTIFY_CENTER">
<_name>Hello ! My name is Lock.</_name>
</Title>
diff --git a/boards/babyshapes/board6_0.xml.in b/boards/babyshapes/board6_0.xml.in
index cdf541b..11f66e1 100644
--- a/boards/babyshapes/board6_0.xml.in
+++ b/boards/babyshapes/board6_0.xml.in
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame>
+<ShapeGame shadow_enable="0">
<Title x="394" y="495" justification="GTK_JUSTIFY_CENTER">
<_name>Lock on the grass.</_name>
</Title>
diff --git a/boards/babyshapes/board7_0.xml.in b/boards/babyshapes/board7_0.xml.in
index f159f43..c1b05aa 100644
--- a/boards/babyshapes/board7_0.xml.in
+++ b/boards/babyshapes/board7_0.xml.in
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame>
+<ShapeGame shadow_enable="0">
<Title x="394" y="495" justification="GTK_JUSTIFY_CENTER">
<_name>Lock with colored shapes.</_name>
</Title>
diff --git a/boards/boardicons/chat.png b/boards/boardicons/chat.png
new file mode 100644
index 0000000..ab144e6
--- /dev/null
+++ b/boards/boardicons/chat.png
Binary files differ
diff --git a/boards/chat.xml.in b/boards/chat.xml.in
new file mode 100644
index 0000000..2c2c6c2
--- /dev/null
+++ b/boards/chat.xml.in
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<GCompris>
+ <Board
+ name="chat"
+ type="python:chat"
+ section="/fun"
+ icon="boardicons/chat.png"
+ difficulty="3"
+ author="Bruno coudoin (bruno.coudoin@free.fr)"
+ boarddir="">
+ <_title>Chat with your friends</_title>
+ <_description>This chat works only on the local network</_description>
+ <_manual>This chat activity only work with other GCompris user on your local network, not the Internet. To use it, just type in messages and hit enter. Your message is broacasted on the local network and any GCompris running the chat activity will receive and display the message.</_manual>
+ </Board>
+ <Data directory=""/>
+</GCompris>
diff --git a/boards/clickgame.xml.in b/boards/clickgame.xml.in
index 38c8ca7..7ce67c3 100644
--- a/boards/clickgame.xml.in
+++ b/boards/clickgame.xml.in
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<GCompris>
- <Board
+ <Board
name="clickgame"
- type="clickgame"
+ type="clickgame"
section="/computer/mouse"
- icon="boardicons/clickgame.png"
+ icon="boardicons/clickgame.png"
difficulty="1"
author="Bruno Coudoin (bruno.coudoin@free.fr)"
boarddir="fishes">
@@ -13,18 +13,7 @@
<_prerequisite>Mouse-manipulation</_prerequisite>
<_goal>Motor coordination: moving and clicking the mouse.</_goal>
<_manual>Use the left mouse button to click on the moving fish.</_manual>
- <_credit xml:space="preserve">Fish are taken from the Unix utility xfishtank.
-Images are taken from the National Undersea Research Program (NURP) Collection
-at &lt;http://www.photolib.noaa.gov&gt;
-All image credits belong to the OAR/National Undersea Research Program (NURP),
-except for the first image, which is property of the University of North Carolina at Wilmington.
-The images used in each level are:
-Location: Tropical Atlantic Ocean, Florida Keys (image nur00523) Photographer: D. Kesling
-Location: Florida Keys (image nur03006)
-Location: Unknown (image nur03505)
-Location: Unknown (image nur03010)
-Location: Unknown (image nur03011)
-Location: Unknown (image nur03013)</_credit>
+ <_credit>Fish are taken from the Unix utility xfishtank. All image credits belong to Guillaume Rousse.</_credit>
<resource>clickgame</resource>
<resource>fishes</resource>
</Board>
diff --git a/boards/clickgame/README b/boards/clickgame/README
new file mode 100644
index 0000000..fcaffc6
--- /dev/null
+++ b/boards/clickgame/README
@@ -0,0 +1,3 @@
+All the sea images in the directory are Copyrighted by
+guillaume rousse <Guillaume dot Rousse at inria dot fr>.
+They are released under the GPL.
diff --git a/boards/clickgame/sea1.jpg b/boards/clickgame/sea1.jpg
new file mode 100644
index 0000000..4054402
--- /dev/null
+++ b/boards/clickgame/sea1.jpg
Binary files differ
diff --git a/boards/clickgame/sea2.jpg b/boards/clickgame/sea2.jpg
new file mode 100644
index 0000000..16dfc5b
--- /dev/null
+++ b/boards/clickgame/sea2.jpg
Binary files differ
diff --git a/boards/clickgame/sea3.jpg b/boards/clickgame/sea3.jpg
new file mode 100644
index 0000000..b74bf9d
--- /dev/null
+++ b/boards/clickgame/sea3.jpg
Binary files differ
diff --git a/boards/clickgame/sea4.jpg b/boards/clickgame/sea4.jpg
new file mode 100644
index 0000000..2ad8152
--- /dev/null
+++ b/boards/clickgame/sea4.jpg
Binary files differ
diff --git a/boards/clickgame/sea5.jpg b/boards/clickgame/sea5.jpg
new file mode 100644
index 0000000..32a61b3
--- /dev/null
+++ b/boards/clickgame/sea5.jpg
Binary files differ
diff --git a/boards/clickgame/sea6.jpg b/boards/clickgame/sea6.jpg
new file mode 100644
index 0000000..8daea4b
--- /dev/null
+++ b/boards/clickgame/sea6.jpg
Binary files differ
diff --git a/boards/flags/ko.png b/boards/flags/ko.png
new file mode 100644
index 0000000..ecf16f4
--- /dev/null
+++ b/boards/flags/ko.png
Binary files differ
diff --git a/boards/images/transparent_square_green.png b/boards/images/transparent_square_green.png
new file mode 100644
index 0000000..5c5e423
--- /dev/null
+++ b/boards/images/transparent_square_green.png
Binary files differ
diff --git a/boards/images/transparent_square_yellow.png b/boards/images/transparent_square_yellow.png
new file mode 100644
index 0000000..f6b88be
--- /dev/null
+++ b/boards/images/transparent_square_yellow.png
Binary files differ
diff --git a/boards/scales/Makefile.am b/boards/scales/Makefile.am
deleted file mode 100644
index fc8a7c9..0000000
--- a/boards/scales/Makefile.am
+++ /dev/null
@@ -1,35 +0,0 @@
-
-xmldir = $(pkgdatadir)/@PACKAGE_DATA_DIR@/scales
-
-xml_in_files = \
- board1_0.xml.in \
- board1_1.xml.in \
- board1_2.xml.in \
- board1_3.xml.in \
- board1_4.xml.in \
- board1_5.xml.in \
- board2_0.xml.in \
- board2_1.xml.in \
- board2_2.xml.in \
- board2_3.xml.in \
- board2_4.xml.in \
- board2_5.xml.in \
- board3_0.xml.in \
- board3_1.xml.in \
- board3_2.xml.in \
- board3_3.xml.in \
- board3_4.xml.in \
- board3_5.xml.in
-
-xml_DATA = $(xml_in_files:.xml.in=.xml)
-
-#
-# Do not use the INTLTOOL_XML_RULE, we don't need to embed the translations
-# in the file themselves. GCompris pick the translations from the po file at
-# runtime.
-#
-$(xml_DATA): %.xml: %.xml.in
- sed -e "s/\(<\{1\}\/*\)_/\1/g" $< > $@
-
-
-CLEANFILES = $(xml_DATA)
diff --git a/boards/scales/balance.png b/boards/scales/balance.png
new file mode 100644
index 0000000..e2fdbee
--- /dev/null
+++ b/boards/scales/balance.png
Binary files differ
diff --git a/boards/scales/board1_0.xml.in b/boards/scales/board1_0.xml.in
deleted file mode 100644
index 6d5b541..0000000
--- a/boards/scales/board1_0.xml.in
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="5">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="490" zoomx="1" zoomy="1" position="1"/>
- <Title x="394" y="490" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="1" type="SHAPE_BACKGROUND"/>
- <Title name="5" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="1" type="SHAPE_BACKGROUND"/>
- <Shape name="4" pixmapfile="scales/masse4.png" x="200" y="172" zoomx="1" zoomy="1" position="1"/>
- <Shape name="1" pixmapfile="scales/masse1.png" x="250" y="172" zoomx="1" zoomy="1" position="1"/>
- <Shape name="V" pixmapfile="scales/tabepice.jpg" x="405" y="260" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
-</ShapeGame>
diff --git a/boards/scales/board1_1.xml.in b/boards/scales/board1_1.xml.in
deleted file mode 100644
index 9893d45..0000000
--- a/boards/scales/board1_1.xml.in
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="7">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="460" zoomx="1" zoomy="1" position="0"/>
- <Title x="394" y="460" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Title name="7" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Shape name="5" pixmapfile="scales/masse5.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="1" pixmapfile="scales/masse1.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="2" pixmapfile="scales/masse2.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
-</ShapeGame>
diff --git a/boards/scales/board1_2.xml.in b/boards/scales/board1_2.xml.in
deleted file mode 100644
index da391d7..0000000
--- a/boards/scales/board1_2.xml.in
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="8">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="460" zoomx="1" zoomy="1" position="0"/>
- <Title x="394" y="460" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Title name="8" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Shape name="2" pixmapfile="scales/masse2.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="5" pixmapfile="scales/masse5.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="1" pixmapfile="scales/masse1.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="3" pixmapfile="scales/masse3.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
-</ShapeGame>
diff --git a/boards/scales/board1_3.xml.in b/boards/scales/board1_3.xml.in
deleted file mode 100644
index 8068525..0000000
--- a/boards/scales/board1_3.xml.in
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="10">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="460" zoomx="1" zoomy="1" position="0"/>
- <Title x="394" y="460" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Title name="10" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Shape name="3" pixmapfile="scales/masse3.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="1" pixmapfile="scales/masse1.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="2" pixmapfile="scales/masse2.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="5" pixmapfile="scales/masse5.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
-</ShapeGame>
diff --git a/boards/scales/board1_4.xml.in b/boards/scales/board1_4.xml.in
deleted file mode 100644
index 635b407..0000000
--- a/boards/scales/board1_4.xml.in
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="9">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="460" zoomx="1" zoomy="1" position="0"/>
- <Title x="394" y="460" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Title name="9" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Shape name="3" pixmapfile="scales/masse3.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="5" pixmapfile="scales/masse5.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="2" pixmapfile="scales/masse2.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="1" pixmapfile="scales/masse1.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
-</ShapeGame>
diff --git a/boards/scales/board1_5.xml.in b/boards/scales/board1_5.xml.in
deleted file mode 100644
index 8917eb2..0000000
--- a/boards/scales/board1_5.xml.in
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="6">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="460" zoomx="1" zoomy="1" position="0"/>
- <Title x="394" y="460" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Title name="6" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Shape name="1" pixmapfile="scales/masse1.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="2" pixmapfile="scales/masse2.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="4" pixmapfile="scales/masse4.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="3" pixmapfile="scales/masse3.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
-</ShapeGame>
diff --git a/boards/scales/board2_0.xml.in b/boards/scales/board2_0.xml.in
deleted file mode 100644
index f2a0463..0000000
--- a/boards/scales/board2_0.xml.in
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="10">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="460" zoomx="1" zoomy="1" position="0"/>
- <Title x="394" y="460" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Title name="10" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Shape name="5" pixmapfile="scales/masse5.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="2" pixmapfile="scales/masse2.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="3" pixmapfile="scales/masse3.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="4" pixmapfile="scales/masse4.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
-</ShapeGame>
diff --git a/boards/scales/board2_1.xml.in b/boards/scales/board2_1.xml.in
deleted file mode 100644
index 0e93db6..0000000
--- a/boards/scales/board2_1.xml.in
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="12">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="460" zoomx="1" zoomy="1" position="0"/>
- <Title x="394" y="460" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Title name="12" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Shape name="1" pixmapfile="scales/masse1.png" x="400" y="250" zoomx="1" zoomy="1" position="0"/>
- <Shape name="3" pixmapfile="scales/masse3.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="5" pixmapfile="scales/masse5.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="2" pixmapfile="scales/masse2.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="4" pixmapfile="scales/masse4.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
-</ShapeGame>
diff --git a/boards/scales/board2_2.xml.in b/boards/scales/board2_2.xml.in
deleted file mode 100644
index 5c33cd5..0000000
--- a/boards/scales/board2_2.xml.in
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="13">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="460" zoomx="1" zoomy="1" position="0"/>
- <Title x="394" y="460" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Title name="13" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Shape name="5" pixmapfile="scales/masse5.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="1" pixmapfile="scales/masse1.png" x="350" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="2" pixmapfile="scales/masse2.png" x="350" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="3" pixmapfile="scales/masse3.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="4" pixmapfile="scales/masse4.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
-</ShapeGame>
diff --git a/boards/scales/board2_3.xml.in b/boards/scales/board2_3.xml.in
deleted file mode 100644
index 1006f22..0000000
--- a/boards/scales/board2_3.xml.in
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="14">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="460" zoomx="1" zoomy="1" position="0"/>
- <Title x="394" y="460" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Title name="14" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Shape name="10" pixmapfile="scales/masse10.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="1" pixmapfile="scales/masse1.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="2" pixmapfile="scales/masse2.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="3" pixmapfile="scales/masse3.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="4" pixmapfile="scales/masse4.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
-</ShapeGame>
diff --git a/boards/scales/board2_4.xml.in b/boards/scales/board2_4.xml.in
deleted file mode 100644
index 0fff062..0000000
--- a/boards/scales/board2_4.xml.in
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="15">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="460" zoomx="1" zoomy="1" position="0"/>
- <Title x="394" y="460" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Title name="15" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Shape name="2" pixmapfile="scales/masse2.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="5" pixmapfile="scales/masse5.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="10" pixmapfile="scales/masse10.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="3" pixmapfile="scales/masse3.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="4" pixmapfile="scales/masse4.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
-</ShapeGame>
diff --git a/boards/scales/board2_5.xml.in b/boards/scales/board2_5.xml.in
deleted file mode 100644
index b7ef77a..0000000
--- a/boards/scales/board2_5.xml.in
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="17">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="460" zoomx="1" zoomy="1" position="0"/>
- <Title x="394" y="460" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Title name="17" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Shape name="2" pixmapfile="scales/masse2.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="10" pixmapfile="scales/masse10.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="6" pixmapfile="scales/masse6.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="5" pixmapfile="scales/masse5.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="4" pixmapfile="scales/masse4.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
-</ShapeGame>
diff --git a/boards/scales/board3_0.xml.in b/boards/scales/board3_0.xml.in
deleted file mode 100644
index f54b63e..0000000
--- a/boards/scales/board3_0.xml.in
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="17">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="460" zoomx="1" zoomy="1" position="0"/>
- <Title x="394" y="460" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Title name="17" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Shape name="10" pixmapfile="scales/masse10.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="6" pixmapfile="scales/masse6.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="4" pixmapfile="scales/masse4.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="2" pixmapfile="scales/masse2.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="1" pixmapfile="scales/masse1.png" x="350" y="172" zoomx="1" zoomy="1" position="0"/>
-</ShapeGame>
diff --git a/boards/scales/board3_1.xml.in b/boards/scales/board3_1.xml.in
deleted file mode 100644
index b62464e..0000000
--- a/boards/scales/board3_1.xml.in
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="19">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="460" zoomx="1" zoomy="1" position="0"/>
- <Title x="394" y="460" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Title name="19" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Shape name="10" pixmapfile="scales/masse10.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="5" pixmapfile="scales/masse5.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="3" pixmapfile="scales/masse3.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="2" pixmapfile="scales/masse2.png" x="350" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="1" pixmapfile="scales/masse1.png" x="350" y="172" zoomx="1" zoomy="1" position="0"/>
-</ShapeGame>
diff --git a/boards/scales/board3_2.xml.in b/boards/scales/board3_2.xml.in
deleted file mode 100644
index c9fd63f..0000000
--- a/boards/scales/board3_2.xml.in
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="21">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="460" zoomx="1" zoomy="1" position="0"/>
- <Title x="394" y="460" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Title name="21" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Shape name="10" pixmapfile="scales/masse10.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="6" pixmapfile="scales/masse6.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="5" pixmapfile="scales/masse5.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="3" pixmapfile="scales/masse3.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="2" pixmapfile="scales/masse2.png" x="350" y="172" zoomx="1" zoomy="1" position="0"/>
-</ShapeGame>
diff --git a/boards/scales/board3_3.xml.in b/boards/scales/board3_3.xml.in
deleted file mode 100644
index be03930..0000000
--- a/boards/scales/board3_3.xml.in
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="22">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="460" zoomx="1" zoomy="1" position="0"/>
- <Title x="394" y="460" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Title name="22" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Shape name="10" pixmapfile="scales/masse10.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="7" pixmapfile="scales/masse7.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="8" pixmapfile="scales/masse8.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="4" pixmapfile="scales/masse4.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="3" pixmapfile="scales/masse3.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="2" pixmapfile="scales/masse2.png" x="350" y="172" zoomx="1" zoomy="1" position="0"/>
-</ShapeGame>
diff --git a/boards/scales/board3_4.xml.in b/boards/scales/board3_4.xml.in
deleted file mode 100644
index d08fac0..0000000
--- a/boards/scales/board3_4.xml.in
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="25">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="460" zoomx="1" zoomy="1" position="0"/>
- <Title x="394" y="460" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Title name="25" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Shape name="10" pixmapfile="scales/masse10.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="8" pixmapfile="scales/masse8.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="7" pixmapfile="scales/masse7.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="6" pixmapfile="scales/masse6.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="4" pixmapfile="scales/masse4.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="3" pixmapfile="scales/masse3.png" x="350" y="172" zoomx="1" zoomy="1" position="0"/>
-</ShapeGame>
diff --git a/boards/scales/board3_5.xml.in b/boards/scales/board3_5.xml.in
deleted file mode 100644
index 800ba0e..0000000
--- a/boards/scales/board3_5.xml.in
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ShapeGame OkIfAddedName="26">
- <Shape name="1" pixmapfile="skin:gcompris-shapelabel.png" type="SHAPE_BACKGROUND"
- x="405" y="460" zoomx="1" zoomy="1" position="0"/>
- <Title x="394" y="460" justification="GTK_JUSTIFY_CENTER" color_skin="gcompris/text button">
- <_name>Drag and Drop masses to balance the scales</_name>
- </Title>
- <Shape name="M" pixmapfile="scales/masse.png" x="585" y="172" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Title name="26" x="585" y="180" justification="GTK_JUSTIFY_CENTER"/>
- <Shape name="B" pixmapfile="scales/scales.png" x="400" y="250" zoomx="1" zoomy="1" position="0" type="SHAPE_BACKGROUND"/>
- <Shape name="10" pixmapfile="scales/masse10.png" x="200" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="9" pixmapfile="scales/masse9.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="8" pixmapfile="scales/masse8.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="7" pixmapfile="scales/masse7.png" x="300" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="6" pixmapfile="scales/masse6.png" x="250" y="172" zoomx="1" zoomy="1" position="0"/>
- <Shape name="3" pixmapfile="scales/masse3.png" x="350" y="172" zoomx="1" zoomy="1" position="0"/>
-</ShapeGame>
diff --git a/boards/scales/bras.png b/boards/scales/bras.png
new file mode 100644
index 0000000..bbcee15
--- /dev/null
+++ b/boards/scales/bras.png
Binary files differ
diff --git a/boards/scales/plateau.png b/boards/scales/plateau.png
new file mode 100644
index 0000000..67e2350
--- /dev/null
+++ b/boards/scales/plateau.png
Binary files differ
diff --git a/boards/scales/scales.png b/boards/scales/scales.png
deleted file mode 100644
index 05785d6..0000000
--- a/boards/scales/scales.png
+++ /dev/null
Binary files differ
diff --git a/boards/scales/tabepice.jpg b/boards/scales/tabepice.jpg
index f9b5d0f..534917f 100644
--- a/boards/scales/tabepice.jpg
+++ b/boards/scales/tabepice.jpg
Binary files differ
diff --git a/boards/scalesboard.xml.in b/boards/scalesboard.xml.in
index a8743b7..79d8e1b 100644
--- a/boards/scalesboard.xml.in
+++ b/boards/scalesboard.xml.in
@@ -2,11 +2,11 @@
<GCompris>
<Board
name="scalesboard"
- type="shapegame"
+ type="scale"
section="/math/algebramenu"
icon="boardicons/scalesicon.png"
difficulty="2"
- author="Bruno Coudoin (bruno.coudoin@free.fr)"
+ author="miguel DE IZARRA (miguel2i@free.fr)"
boarddir="scales">
<_title>Balance the scales properly</_title>
<_description>Drag and Drop masses to balance the scales</_description>
diff --git a/boards/skins/gartoon/cursor_circle.png b/boards/skins/gartoon/cursor_circle.png
new file mode 100644
index 0000000..8f2f217
--- /dev/null
+++ b/boards/skins/gartoon/cursor_circle.png
Binary files differ
diff --git a/boards/skins/gartoon/cursor_default.png b/boards/skins/gartoon/cursor_default.png
new file mode 100644
index 0000000..b94dfcf
--- /dev/null
+++ b/boards/skins/gartoon/cursor_default.png
Binary files differ
diff --git a/boards/skins/gartoon/cursor_del.png b/boards/skins/gartoon/cursor_del.png
new file mode 100644
index 0000000..9d36598
--- /dev/null
+++ b/boards/skins/gartoon/cursor_del.png
Binary files differ
diff --git a/boards/skins/gartoon/cursor_fill.png b/boards/skins/gartoon/cursor_fill.png
new file mode 100644
index 0000000..51c59f3
--- /dev/null
+++ b/boards/skins/gartoon/cursor_fill.png
Binary files differ
diff --git a/boards/skins/gartoon/cursor_fillcircle.png b/boards/skins/gartoon/cursor_fillcircle.png
new file mode 100644
index 0000000..3890ce4
--- /dev/null
+++ b/boards/skins/gartoon/cursor_fillcircle.png
Binary files differ
diff --git a/boards/skins/gartoon/cursor_fillrect.png b/boards/skins/gartoon/cursor_fillrect.png
new file mode 100644
index 0000000..ae68f3c
--- /dev/null
+++ b/boards/skins/gartoon/cursor_fillrect.png
Binary files differ
diff --git a/boards/skins/gartoon/cursor_line.png b/boards/skins/gartoon/cursor_line.png
new file mode 100644
index 0000000..0bfd5c3
--- /dev/null
+++ b/boards/skins/gartoon/cursor_line.png
Binary files differ
diff --git a/boards/skins/gartoon/cursor_rect.png b/boards/skins/gartoon/cursor_rect.png
new file mode 100644
index 0000000..189d063
--- /dev/null
+++ b/boards/skins/gartoon/cursor_rect.png
Binary files differ
diff --git a/boards/skins/gartoon/cursor_select.png b/boards/skins/gartoon/cursor_select.png
new file mode 100644
index 0000000..96513f6
--- /dev/null
+++ b/boards/skins/gartoon/cursor_select.png
Binary files differ
diff --git a/boards/sounds/Harbor1.wav b/boards/sounds/Harbor1.wav
new file mode 100644
index 0000000..2fb0a64
--- /dev/null
+++ b/boards/sounds/Harbor1.wav
Binary files differ
diff --git a/boards/sounds/Harbor3.wav b/boards/sounds/Harbor3.wav
new file mode 100644
index 0000000..de504d7
--- /dev/null
+++ b/boards/sounds/Harbor3.wav
Binary files differ
diff --git a/boards/sounds/README b/boards/sounds/README
index 3e89e6c..de0fad7 100644
--- a/boards/sounds/README
+++ b/boards/sounds/README
@@ -1,2 +1,7 @@
wahoo.ogg taken from the childsplay project: http://childsplay.sourceforge.net/
+From TUXPAINT: line_end.wav brick.wav
+From OpenOffice.org: apert2.wav
+From lincity-ng: Water5.wav Harbor1.wav Harbor3.wav
+From gaim: receive.wav
+From childsplay: eat.wav
diff --git a/boards/sounds/Water5.wav b/boards/sounds/Water5.wav
new file mode 100644
index 0000000..07d835b
--- /dev/null
+++ b/boards/sounds/Water5.wav
Binary files differ
diff --git a/boards/sounds/apert2.wav b/boards/sounds/apert2.wav
new file mode 100644
index 0000000..43e7ae6
--- /dev/null
+++ b/boards/sounds/apert2.wav
Binary files differ
diff --git a/boards/sounds/bleep.wav b/boards/sounds/bleep.wav
new file mode 100644
index 0000000..205fec6
--- /dev/null
+++ b/boards/sounds/bleep.wav
Binary files differ
diff --git a/boards/sounds/brick.wav b/boards/sounds/brick.wav
new file mode 100644
index 0000000..fbdaf19
--- /dev/null
+++ b/boards/sounds/brick.wav
Binary files differ
diff --git a/boards/sounds/bubble.wav b/boards/sounds/bubble.wav
new file mode 100644
index 0000000..398e389
--- /dev/null
+++ b/boards/sounds/bubble.wav
Binary files differ
diff --git a/boards/sounds/darken.wav b/boards/sounds/darken.wav
new file mode 100644
index 0000000..010fb06
--- /dev/null
+++ b/boards/sounds/darken.wav
Binary files differ
diff --git a/boards/sounds/drip.wav b/boards/sounds/drip.wav
new file mode 100644
index 0000000..10fc12e
--- /dev/null
+++ b/boards/sounds/drip.wav
Binary files differ
diff --git a/boards/sounds/eat.wav b/boards/sounds/eat.wav
new file mode 100644
index 0000000..830d176
--- /dev/null
+++ b/boards/sounds/eat.wav
Binary files differ
diff --git a/boards/sounds/eraser1.wav b/boards/sounds/eraser1.wav
new file mode 100644
index 0000000..44a316f
--- /dev/null
+++ b/boards/sounds/eraser1.wav
Binary files differ
diff --git a/boards/sounds/eraser2.wav b/boards/sounds/eraser2.wav
new file mode 100644
index 0000000..95b9bb3
--- /dev/null
+++ b/boards/sounds/eraser2.wav
Binary files differ
diff --git a/boards/sounds/flip.wav b/boards/sounds/flip.wav
new file mode 100644
index 0000000..18af71a
--- /dev/null
+++ b/boards/sounds/flip.wav
Binary files differ
diff --git a/boards/sounds/fr/geography/africa.ogg b/boards/sounds/fr/geography/africa.ogg
index e4cc754..c690ac4 100644
--- a/boards/sounds/fr/geography/africa.ogg
+++ b/boards/sounds/fr/geography/africa.ogg
Binary files differ
diff --git a/boards/sounds/fr/geography/america.ogg b/boards/sounds/fr/geography/america.ogg
index f1ce866..13a4cab 100644
--- a/boards/sounds/fr/geography/america.ogg
+++ b/boards/sounds/fr/geography/america.ogg
Binary files differ
diff --git a/boards/sounds/fr/geography/basse-normandie.ogg b/boards/sounds/fr/geography/basse-normandie.ogg
new file mode 100644
index 0000000..3c8e3ed
--- /dev/null
+++ b/boards/sounds/fr/geography/basse-normandie.ogg
Binary files differ
diff --git a/boards/sounds/fr/geography/champagne-ardenne.ogg b/boards/sounds/fr/geography/champagne-ardenne.ogg
new file mode 100644
index 0000000..70358ef
--- /dev/null
+++ b/boards/sounds/fr/geography/champagne-ardenne.ogg
Binary files differ
diff --git a/boards/sounds/fr/geography/franche-conte.ogg b/boards/sounds/fr/geography/franche-conte.ogg
new file mode 100644
index 0000000..b66795c
--- /dev/null
+++ b/boards/sounds/fr/geography/franche-conte.ogg
Binary files differ
diff --git a/boards/sounds/fr/geography/oceania.ogg b/boards/sounds/fr/geography/oceania.ogg
index 5b4c0c1..f928ec4 100644
--- a/boards/sounds/fr/geography/oceania.ogg
+++ b/boards/sounds/fr/geography/oceania.ogg
Binary files differ
diff --git a/boards/sounds/fr/geography/poitou-charentes.ogg b/boards/sounds/fr/geography/poitou-charentes.ogg
new file mode 100644
index 0000000..2e8eb90
--- /dev/null
+++ b/boards/sounds/fr/geography/poitou-charentes.ogg
Binary files differ
diff --git a/boards/sounds/fr/geography/slovania.ogg b/boards/sounds/fr/geography/slovania.ogg
new file mode 100644
index 0000000..360ee27
--- /dev/null
+++ b/boards/sounds/fr/geography/slovania.ogg
Binary files differ
diff --git a/boards/sounds/grow.wav b/boards/sounds/grow.wav
new file mode 100644
index 0000000..8d35361
--- /dev/null
+++ b/boards/sounds/grow.wav
Binary files differ
diff --git a/boards/sounds/line_end.wav b/boards/sounds/line_end.wav
new file mode 100644
index 0000000..aead13e
--- /dev/null
+++ b/boards/sounds/line_end.wav
Binary files differ
diff --git a/boards/sounds/melody/guitar/son1.ogg b/boards/sounds/melody/guitar/son1.ogg
index 6fc1a18..f818e58 100644
--- a/boards/sounds/melody/guitar/son1.ogg
+++ b/boards/sounds/melody/guitar/son1.ogg
Binary files differ
diff --git a/boards/sounds/melody/guitar/son2.ogg b/boards/sounds/melody/guitar/son2.ogg
index f46cbae..873647b 100644
--- a/boards/sounds/melody/guitar/son2.ogg
+++ b/boards/sounds/melody/guitar/son2.ogg
Binary files differ
diff --git a/boards/sounds/melody/guitar/son3.ogg b/boards/sounds/melody/guitar/son3.ogg
index 127813e..53ca7bc 100644
--- a/boards/sounds/melody/guitar/son3.ogg
+++ b/boards/sounds/melody/guitar/son3.ogg
Binary files differ
diff --git a/boards/sounds/melody/guitar/son4.ogg b/boards/sounds/melody/guitar/son4.ogg
index 15a5a7f..85e50e1 100644
--- a/boards/sounds/melody/guitar/son4.ogg
+++ b/boards/sounds/melody/guitar/son4.ogg
Binary files differ
diff --git a/boards/sounds/melody/xylofon/son1.ogg b/boards/sounds/melody/xylofon/son1.ogg
index eaed421..a6c5886 100644
--- a/boards/sounds/melody/xylofon/son1.ogg
+++ b/boards/sounds/melody/xylofon/son1.ogg
Binary files differ
diff --git a/boards/sounds/melody/xylofon/son2.ogg b/boards/sounds/melody/xylofon/son2.ogg
index 4f0c06e..2f089f4 100644
--- a/boards/sounds/melody/xylofon/son2.ogg
+++ b/boards/sounds/melody/xylofon/son2.ogg
Binary files differ
diff --git a/boards/sounds/melody/xylofon/son3.ogg b/boards/sounds/melody/xylofon/son3.ogg
index efaf008..6182bd8 100644
--- a/boards/sounds/melody/xylofon/son3.ogg
+++ b/boards/sounds/melody/xylofon/son3.ogg
Binary files differ
diff --git a/boards/sounds/melody/xylofon/son4.ogg b/boards/sounds/melody/xylofon/son4.ogg
index f7299fd..a1f8227 100644
--- a/boards/sounds/melody/xylofon/son4.ogg
+++ b/boards/sounds/melody/xylofon/son4.ogg
Binary files differ
diff --git a/boards/sounds/paint1.wav b/boards/sounds/paint1.wav
new file mode 100644
index 0000000..1b94ccd
--- /dev/null
+++ b/boards/sounds/paint1.wav
Binary files differ
diff --git a/boards/sounds/prompt.wav b/boards/sounds/prompt.wav
new file mode 100644
index 0000000..8a730ac
--- /dev/null
+++ b/boards/sounds/prompt.wav
Binary files differ
diff --git a/boards/sounds/receive.wav b/boards/sounds/receive.wav
new file mode 100644
index 0000000..dce135e
--- /dev/null
+++ b/boards/sounds/receive.wav
Binary files differ
diff --git a/boards/sounds/smudge.wav b/boards/sounds/smudge.wav
new file mode 100644
index 0000000..f93e71f
--- /dev/null
+++ b/boards/sounds/smudge.wav
Binary files differ
diff --git a/boards/sounds/so/alphabet/README b/boards/sounds/so/alphabet/README
new file mode 100644
index 0000000..a13529f
--- /dev/null
+++ b/boards/sounds/so/alphabet/README
@@ -0,0 +1,47 @@
+U0061.ogg M.I. Mursal 2006 / GPL
+U0062.ogg M.I. Mursal 2006 / GPL
+U0063.ogg M.I. Mursal 2006 / GPL
+U0064.ogg M.I. Mursal 2006 / GPL
+U0065.ogg M.I. Mursal 2006 / GPL
+U0066.ogg M.I. Mursal 2006 / GPL
+U0067.ogg M.I. Mursal 2006 / GPL
+U0068.ogg M.I. Mursal 2006 / GPL
+U0069.ogg M.I. Mursal 2006 / GPL
+U006A.ogg M.I. Mursal 2006 / GPL
+U006B.ogg M.I. Mursal 2006 / GPL
+U006C.ogg M.I. Mursal 2006 / GPL
+U006D.ogg M.I. Mursal 2006 / GPL
+U006E.ogg M.I. Mursal 2006 / GPL
+U006F.ogg M.I. Mursal 2006 / GPL
+U0070.ogg M.I. Mursal 2006 / GPL
+U0071.ogg M.I. Mursal 2006 / GPL
+U0072.ogg M.I. Mursal 2006 / GPL
+U0073.ogg M.I. Mursal 2006 / GPL
+U0074.ogg M.I. Mursal 2006 / GPL
+U0075.ogg M.I. Mursal 2006 / GPL
+U0076.ogg M.I. Mursal 2006 / GPL
+U0077.ogg M.I. Mursal 2006 / GPL
+U0078.ogg M.I. Mursal 2006 / GPL
+U0079.ogg M.I. Mursal 2006 / GPL
+U007A.ogg M.I. Mursal 2006 / GPL
+U0030.ogg M.I. Mursal 2006 / GPL
+U0031.ogg M.I. Mursal 2006 / GPL
+U0032.ogg M.I. Mursal 2006 / GPL
+U0033.ogg M.I. Mursal 2006 / GPL
+U0034.ogg M.I. Mursal 2006 / GPL
+U0035.ogg M.I. Mursal 2006 / GPL
+U0036.ogg M.I. Mursal 2006 / GPL
+U0037.ogg M.I. Mursal 2006 / GPL
+U0038.ogg M.I. Mursal 2006 / GPL
+U0039.ogg M.I. Mursal 2006 / GPL
+10.ogg M.I. Mursal 2006 / GPL
+11.ogg M.I. Mursal 2006 / GPL
+12.ogg M.I. Mursal 2006 / GPL
+13.ogg M.I. Mursal 2006 / GPL
+14.ogg M.I. Mursal 2006 / GPL
+15.ogg M.I. Mursal 2006 / GPL
+16.ogg M.I. Mursal 2006 / GPL
+17.ogg M.I. Mursal 2006 / GPL
+18.ogg M.I. Mursal 2006 / GPL
+19.ogg M.I. Mursal 2006 / GPL
+20.ogg M.I. Mursal 2006 / GPL
diff --git a/boards/sounds/so/colors/README b/boards/sounds/so/colors/README
new file mode 100644
index 0000000..2f97920
--- /dev/null
+++ b/boards/sounds/so/colors/README
@@ -0,0 +1,11 @@
+black.ogg M.I. Mursal 2006 / GPL
+blue.ogg M.I. Mursal 2006 / GPL
+brown.ogg M.I. Mursal 2006 / GPL
+green.ogg M.I. Mursal 2006 / GPL
+grey.ogg M.I. Mursal 2006 / GPL
+orange.ogg M.I. Mursal 2006 / GPL
+pink.ogg M.I. Mursal 2006 / GPL
+purple.ogg M.I. Mursal 2006 / GPL
+red.ogg M.I. Mursal 2006 / GPL
+white.ogg M.I. Mursal 2006 / GPL
+yellow.ogg M.I. Mursal 2006 / GPL
diff --git a/boards/sounds/so/geography/README b/boards/sounds/so/geography/README
new file mode 100644
index 0000000..c2a68e4
--- /dev/null
+++ b/boards/sounds/so/geography/README
@@ -0,0 +1,68 @@
+alaska.ogg Niko Lewman 2006 / GPL
+albania.ogg Niko Lewman 2006 / GPL
+argentina.ogg Niko Lewman 2006 / GPL
+austria.ogg Niko Lewman 2006 / GPL
+bahamas.ogg Niko Lewman 2006 / GPL
+belarus.ogg Niko Lewman 2006 / GPL
+belgium.ogg Niko Lewman 2006 / GPL
+bolivia.ogg Niko Lewman 2006 / GPL
+bosnia_herzegovina.ogg Niko Lewman 2006 / GPL
+brazil.ogg Niko Lewman 2006 / GPL
+bulgaria.ogg Niko Lewman 2006 / GPL
+canada.ogg Niko Lewman 2006 / GPL
+chile.ogg Niko Lewman 2006 / GPL
+colombia.ogg Niko Lewman 2006 / GPL
+costa_rica.ogg Niko Lewman 2006 / GPL
+croatia.ogg Niko Lewman 2006 / GPL
+cuba.ogg Niko Lewman 2006 / GPL
+cyprus.ogg Niko Lewman 2006 / GPL
+czech.ogg Niko Lewman 2006 / GPL
+denmark.ogg Niko Lewman 2006 / GPL
+dominican_republic.ogg Niko Lewman 2006 / GPL
+ecuador.ogg Niko Lewman 2006 / GPL
+estonia.ogg Niko Lewman 2006 / GPL
+finland.ogg Niko Lewman 2006 / GPL
+france.ogg Niko Lewman 2006 / GPL
+french_guiana.ogg Niko Lewman 2006 / GPL
+greece.ogg Niko Lewman 2006 / GPL
+greenland.ogg Niko Lewman 2006 / GPL
+guatemala.ogg Niko Lewman 2006 / GPL
+germany.ogg Niko Lewman 2006 / GPL
+guyana.ogg Niko Lewman 2006 / GPL
+haiti.ogg Niko Lewman 2006 / GPL
+honduras.ogg Niko Lewman 2006 / GPL
+hungary.ogg Niko Lewman 2006 / GPL
+iceland.ogg Niko Lewman 2006 / GPL
+ireland.ogg Niko Lewman 2006 / GPL
+italy.ogg Niko Lewman 2006 / GPL
+jamaica.ogg Niko Lewman 2006 / GPL
+latvia.ogg Niko Lewman 2006 / GPL
+lithuania.ogg Niko Lewman 2006 / GPL
+luxembourg.ogg Niko Lewman 2006 / GPL
+macedonia.ogg Niko Lewman 2006 / GPL
+mexico.ogg Niko Lewman 2006 / GPL
+moldova.ogg Niko Lewman 2006 / GPL
+netherland.ogg Niko Lewman 2006 / GPL
+nicaragua.ogg Niko Lewman 2006 / GPL
+norway.ogg Niko Lewman 2006 / GPL
+panama.ogg Niko Lewman 2006 / GPL
+paraguay.ogg Niko Lewman 2006 / GPL
+peru.ogg Niko Lewman 2006 / GPL
+poland.ogg Niko Lewman 2006 / GPL
+portugal.ogg Niko Lewman 2006 / GPL
+romania.ogg Niko Lewman 2006 / GPL
+russia.ogg Niko Lewman 2006 / GPL
+salvador.ogg Niko Lewman 2006 / GPL
+serbia_montenegro.ogg Niko Lewman 2006 / GPL
+slovakia.ogg Niko Lewman 2006 / GPL
+slovenia.ogg Niko Lewman 2006 / GPL
+spain.ogg Niko Lewman 2006 / GPL
+suriname.ogg Niko Lewman 2006 / GPL
+sweden.ogg Niko Lewman 2006 / GPL
+switz.ogg Niko Lewman 2006 / GPL
+turkey.ogg Niko Lewman 2006 / GPL
+ukraine.ogg Niko Lewman 2006 / GPL
+united_kingdom.ogg Niko Lewman 2006 / GPL
+uruguay.ogg Niko Lewman 2006 / GPL
+usa.ogg Niko Lewman 2006 / GPL
+venezuela.ogg Niko Lewman 2006 / GPL
diff --git a/boards/sounds/so/misc/README b/boards/sounds/so/misc/README
new file mode 100644
index 0000000..2fc7b52
--- /dev/null
+++ b/boards/sounds/so/misc/README
@@ -0,0 +1,21 @@
+back.ogg M.I. Mursal 2006 / GPL
+by.ogg M.I. Mursal 2006 / GPL
+click_on_letter.ogg M.I. Mursal 2006 / GPL
+check_answer.ogg M.I. Mursal 2006 / GPL
+congratulation.ogg M.I. Mursal 2006 / GPL
+equal.ogg M.I. Mursal 2006 / GPL
+good.ogg M.I. Mursal 2006 / GPL
+great.ogg M.I. Mursal 2006 / GPL
+help.ogg M.I. Mursal 2006 / GPL
+level.ogg M.I. Mursal 2006 / GPL
+minus.ogg M.I. Mursal 2006 / GPL
+ok.ogg M.I. Mursal 2006 / GPL
+outof.ogg M.I. Mursal 2006 / GPL
+plus.ogg M.I. Mursal 2006 / GPL
+quit.ogg M.I. Mursal 2006 / GPL
+super.ogg M.I. Mursal 2006 / GPL
+welcome.ogg M.I. Mursal 2006 / GPL
+awesome.ogg M.I. Mursal 2006 / GPL
+fantastic.ogg M.I. Mursal 2006 / GPL
+waytogo.ogg M.I. Mursal 2006 / GPL
+perfect.ogg M.I. Mursal 2006 / GPL
diff --git a/boards/sounds/tuxok.wav b/boards/sounds/tuxok.wav
new file mode 100644
index 0000000..2d6253b
--- /dev/null
+++ b/boards/sounds/tuxok.wav
Binary files differ
diff --git a/boards/sounds/youcannot.wav b/boards/sounds/youcannot.wav
new file mode 100644
index 0000000..c596421
--- /dev/null
+++ b/boards/sounds/youcannot.wav
Binary files differ
diff --git a/configure.in b/configure.in
index 9127739..75002ac 100644
--- a/configure.in
+++ b/configure.in
@@ -2,7 +2,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(src/gcompris/gcompris.c)
AC_CANONICAL_TARGET
-AM_INIT_AUTOMAKE(gcompris, 8.2)
+AM_INIT_AUTOMAKE(gcompris, 8.3BETA1)
AM_CONFIG_HEADER(config.h)
AM_MAINTAINER_MODE
@@ -75,7 +75,7 @@ if test "x$SDL_CFLAGS" = "x" -o "x$SDL_LIBS" = "x" ; then
else
AC_SUBST(SDL_CFLAGS)
AC_SUBST(SDL_LIBS)
- echo "*** Not checking SDL. Using existing SDL_FLAGS and SDL_LIBS ***"
+ echo "*** Not checking SDL. Using existing SDL_FLAGS and SDL_LIBS ***"
fi
dnl RESTAURE PREVIOUSLY SET VALUES
@@ -125,7 +125,7 @@ fi
LDFLAGS="${LDFLAGS} ${XF86VM_LIBS}"
dnl Add the languages which your application supports here.
-ALL_LINGUAS="am ar az bg ca cs da de el en_CA en_GB es et eu fi fr ga gu he hi hr hu it ja ka lt mk ml mr ms nb ne nl nn pa pl pt pt_BR ro ru rw sk sl so sq sr sr@Latn sv th tr vi wa zh_CN zh_TW"
+ALL_LINGUAS="am ar az bg ca cs da de el en_CA en_GB es et eu fi fr ga gu he hi hr hu it ja ka ko lt mk ml mr ms nb ne nl nn pa pl pt pt_BR ro ru rw sk sl so sq sr sr@Latn sv th tr vi wa zh_CN zh_TW"
dnl GCompris needs to know which locale are supported
AC_SUBST(ALL_LINGUAS)
@@ -343,6 +343,33 @@ AM_CHECK_PYTHON_HEADERS( [build_python_plugin="yes"], [build_python_plugin="no"]
fi
+
+
+dnl GC_SOUND
+
+AC_MSG_CHECKING([for glib-genmarshal])
+GLIB_GENMARSHAL=`pkg-config --variable=glib_genmarshal glib-2.0`
+AC_SUBST(GLIB_GENMARSHAL)
+AC_MSG_RESULT($GLIB_GENMARSHAL)
+
+if test x$build_python_plugin = xyes; then
+ AC_MSG_CHECKING([for pygtk-codegen-2.0])
+ AC_PATH_PROG(PYGTK_CODEGEN, pygtk-codegen-2.0, no)
+ AC_MSG_RESULT($PYGTK_CODEGEN)
+ if test "x$PYGTK_CODEGEN" = xno; then
+ AC_MSG_NOTICE(could not find pygtk-codegen-2.0 script, Python binding is disabled.)
+ build_python_plugin="no"
+ fi
+
+ if test x$build_python_plugin = xyes; then
+ AC_MSG_CHECKING(for pygtk defs)
+ PYGTK_DEFSDIR=`$PKG_CONFIG --variable=defsdir pygtk-2.0`
+ AC_SUBST(PYGTK_DEFSDIR)
+ AC_MSG_RESULT($PYGTK_DEFSDIR)
+ fi
+fi
+
+
dnl Finally output the required python variables and automake defines.
AM_CONDITIONAL(PYTHON_PLUGIN, test x$build_python_plugin = xyes)
@@ -534,6 +561,9 @@ Makefile
autopackage/Makefile
autopackage/default.apspec
src/Makefile
+src/gc_sound/Makefile
+src/gc_sound/src/Makefile
+src/gc_sound/python/Makefile
src/gcompris/Makefile
src/gcompris/libgcompris-1.0.pc
src/gcompris/libgcompris-1.0-uninstalled.pc
@@ -569,7 +599,6 @@ boards/imagename/Makefile
boards/missing_letter/Makefile
boards/paintings/Makefile
boards/read_colors/Makefile
-boards/scales/Makefile
])
echo ""
diff --git a/docs/C/python.html b/docs/C/python.html
index ee065e5..a677c48 100644
--- a/docs/C/python.html
+++ b/docs/C/python.html
@@ -1,10 +1,10 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Python wrapper for Gcompris</title><meta name="generator" content="DocBook XSL Stylesheets V1.68.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="id2449695"></a>Python wrapper for Gcompris</h2></div><div><div class="author"><h3 class="author"><span class="honorific">Ir</span>. <span class="firstname">Olivier</span> <span class="surname">Samyn</span></h3><code class="email">&lt;<a href="mailto:osamyn@ulb.ac.be">osamyn@ulb.ac.be</a>&gt;</code></div></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td align="left">Revision 0.1</td><td align="left">February 2003</td></tr><tr><td align="left">Revision 0.2</td><td align="left">April 2003</td></tr><tr><td align="left">Revision 0.3</td><td align="left">January 2004</td></tr><tr><td align="left">Revision 0.4</td><td align="left">January 2005</td></tr></table></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2453462">Notes about this wrapper</a></span></dt><dt><span class="sect1"><a href="#id2453493">Python board structure</a></span></dt><dt><span class="sect1"><a href="#id2500327">GcomprisBoard structure mapping </a></span></dt><dt><span class="sect1"><a href="#id2452682">gcompris.h functions and constants Mapping</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2451557">Functions mapping</a></span></dt><dt><span class="sect2"><a href="#id2451914">GComprisBarFlags enum mapping</a></span></dt><dt><span class="sect2"><a href="#id2452009">Misc constants mapping</a></span></dt><dt><span class="sect2"><a href="#id2452074">Colors constants mapping</a></span></dt><dt><span class="sect2"><a href="#id2513005">Fonts constants mapping</a></span></dt><dt><span class="sect2"><a href="#id2513081">Board font constants mapping</a></span></dt><dt><span class="sect2"><a href="#id2513188">Cursor constants mapping</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2513313">gameutil.h functions and constants Mapping</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2513319">Functions mapping</a></span></dt><dt><span class="sect2"><a href="#id2513575">Constants mapping</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2513587">bonus.h functions and constants Mapping</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2513593">Functions mapping</a></span></dt><dt><span class="sect2"><a href="#id2513656">Constants mapping (BonusStatusList)</a></span></dt><dt><span class="sect2"><a href="#id2513712">Constants mapping (BonusList)</a></span></dt><dt><span class="sect2"><a href="#id2513795">Constants mapping (BoardFinishedList)</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2513872">score.h functions and constants Mapping</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2513878">Functions mapping</a></span></dt><dt><span class="sect2"><a href="#id2513953">Constants mapping</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2514011">sound.h functions and constants Mapping</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2514017">Functions mapping</a></span></dt><dt><span class="sect2"><a href="#id2514083">Constants mapping</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2514095">timer.h functions and constants Mapping</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2514101">Functions mapping</a></span></dt><dt><span class="sect2"><a href="#id2514207">Constants mapping</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2514273">anim.h structures Mapping</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2514285">Animation</a></span></dt><dt><span class="sect2"><a href="#id2514302">CanvasItem</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2453462"></a>Notes about this wrapper</h2></div></div></div><p>Generaly speaking, all C gcompris_xxx functions are wrapped to a
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>Python wrapper for Gcompris</title><meta name="generator" content="DocBook XSL Stylesheets V1.70.1"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a name="id2487360"></a>Python wrapper for Gcompris</h2></div><div><div class="author"><h3 class="author"><span class="honorific">Ir</span>. <span class="firstname">Olivier</span> <span class="surname">Samyn</span></h3><code class="email">&lt;<a href="mailto:osamyn@ulb.ac.be">osamyn@ulb.ac.be</a>&gt;</code></div></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td align="left">Revision 0.1</td><td align="left">February 2003</td></tr><tr><td align="left">Revision 0.2</td><td align="left">April 2003</td></tr><tr><td align="left">Revision 0.3</td><td align="left">January 2004</td></tr><tr><td align="left">Revision 0.4</td><td align="left">January 2005</td></tr><tr><td align="left">Revision 0.5</td><td align="left">December 2006</td></tr></table></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="sect1"><a href="#id2524635">Notes about this wrapper</a></span></dt><dt><span class="sect1"><a href="#id2487666">Python board structure</a></span></dt><dt><span class="sect1"><a href="#id2487733">GcomprisBoard structure mapping </a></span></dt><dt><span class="sect1"><a href="#id2486794">gcompris.h functions and constants Mapping</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2486799">Functions mapping</a></span></dt><dt><span class="sect2"><a href="#id2487128">GComprisBarFlags enum mapping</a></span></dt><dt><span class="sect2"><a href="#id2487223">Misc constants mapping</a></span></dt><dt><span class="sect2"><a href="#id2487288">Colors constants mapping</a></span></dt><dt><span class="sect2"><a href="#id2534004">Fonts constants mapping</a></span></dt><dt><span class="sect2"><a href="#id2534080">Board font constants mapping</a></span></dt><dt><span class="sect2"><a href="#id2534187">Cursor constants mapping</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2534296">gameutil.h functions and constants Mapping</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2534302">Functions mapping</a></span></dt><dt><span class="sect2"><a href="#id2534510">Constants mapping</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2534522">bonus.h functions and constants Mapping</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2534529">Functions mapping</a></span></dt><dt><span class="sect2"><a href="#id2534591">Constants mapping (BonusStatusList)</a></span></dt><dt><span class="sect2"><a href="#id2534648">Constants mapping (BonusList)</a></span></dt><dt><span class="sect2"><a href="#id2534730">Constants mapping (BoardFinishedList)</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2534799">score.h functions and constants Mapping</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2534805">Functions mapping</a></span></dt><dt><span class="sect2"><a href="#id2534880">Constants mapping</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2534930">sound.h functions and constants Mapping</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2534936">Functions mapping</a></span></dt><dt><span class="sect2"><a href="#id2535018">Constants mapping</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2535030">timer.h functions and constants Mapping</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2535036">Functions mapping</a></span></dt><dt><span class="sect2"><a href="#id2535142">Constants mapping</a></span></dt></dl></dd><dt><span class="sect1"><a href="#id2535208">anim.h structures Mapping</a></span></dt><dd><dl><dt><span class="sect2"><a href="#id2535220">Animation</a></span></dt><dt><span class="sect2"><a href="#id2535236">CanvasItem</a></span></dt></dl></dd></dl></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2524635"></a>Notes about this wrapper</h2></div></div></div><p>Generaly speaking, all C gc_xxx functions are wrapped to a
corresponding gcompris.xxx function; parameters and return types remains the same.
Some structures have also been wrapped. See below particular notes about this.</p><p>The wrapped functions are divided into packages. Every package correponds to a
gcompris header file (gameutil.h, score.h, ...)</p><p>For each package/header not all functions have been wrapped.
Only functions that are used/usefull for plugins are wrapped.</p><p>Notice also that not all functions have been tested (with time and new python
plugins implemented they will be, but...). The wrappers have been written, they compiles,
-but there is no warranty on their behaviour... I you find a bug report it!</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2453493"></a>Python board structure</h2></div></div></div><p>Each board written in python must contains a class which name is
+but there is no warranty on their behaviour... I you find a bug report it!</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2487666"></a>Python board structure</h2></div></div></div><p>Each board written in python must contains a class which name is
"Gcompris_xxx" where xxx is the name of the board. Let's take an example: I made
a gcompris board written in python and called "pythontest".</p><p>For this board there is a gcompris pythontest.xml file containing
"pythontest" for the board name and "pythonboard" for the board type. There's
@@ -12,7 +12,7 @@ also a pythontest.py file containing the board code. And to finish, this file
contains a "Gcompris_pythontest" class definition which in turns contains the
needed gcompris board functions.</p><p>The class defined in the python board must contains the following methods:</p><div class="itemizedlist"><ul type="disc"><li>__init__(self, gcomprisBoard)</li><li>start(self)</li><li>end(self)</li><li>ok(self)</li><li>repeat(self)</li><li>config(self)</li><li>key_press(self, keyval)</li><li>pause(self, pause)</li><li>set_level(self, level)</li></ul></div><p>
</p><p>For the method role and use, please consult the sample pythontest.py board
-and other C boards.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2500327"></a>GcomprisBoard structure mapping </h2></div></div></div><p>An instance of this structure in Python will act like an instance of the C
+and other C boards.</p></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2487733"></a>GcomprisBoard structure mapping </h2></div></div></div><p>An instance of this structure in Python will act like an instance of the C
one. Here a some Python call samples:</p><pre class="programlisting">
...
gcomprisBoard.level = 1
@@ -21,8 +21,8 @@ one. Here a some Python call samples:</p><pre class="programlisting">
gcompris.bar_start(gcomprisBoard.canvas)
...
</pre><p>Here are the Python structure member name and type, and a note indicating if the
-attribute is readeable and/or writable.</p><div class="informaltable"><table border="1"><colgroup><col><col><col><col></colgroup><thead><tr><th>Structure member</th><th>Type</th><th>Readable</th><th>Writable</th></tr></thead><tbody><tr><td>type</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>board_ready</td><td>boolean</td><td>Y</td><td>N</td></tr><tr><td>mode</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>name</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>title</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>description</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>icon_name</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>author</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>boarddir</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>filename</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>difficulty</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>mandatory_sound_file</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>section</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>menuposotion</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>prerequisite</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>goal</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>manual</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>credit</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>width</td><td>int</td><td>Y</td><td>N</td></tr><tr><td>height</td><td>int</td><td>Y</td><td>N</td></tr><tr><td>canvas</td><td>gnome.canvas.Canvas</td><td>Y</td><td>N</td></tr><tr><td>previous_board</td><td>GcomprisBoard</td><td>Y</td><td>N</td></tr><tr><td>level</td><td>int</td><td>Y</td><td>Y</td></tr><tr><td>maxlevel</td><td>int</td><td>Y</td><td>Y</td></tr><tr><td>sublevel</td><td>int</td><td>Y</td><td>Y</td></tr><tr><td>number_of_sublevel</td><td>int</td><td>Y</td><td>Y</td></tr></tbody></table></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2452682"></a>gcompris.h functions and constants Mapping</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2451557"></a>Functions mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Python function</th><th>C equivalent</th><th>Notes</th></tr></thead><tbody><tr><td>gcompris.end_board()</td><td>void gcompris_end_board(void)</td><td> </td></tr><tr><td>gcompris.bar_start(gnomeCanvas)</td><td>void gcompris_bar_start(GnomeCanvas *theCanvas)</td><td> </td></tr><tr><td>gcompris.set_background(gnomeCanvasGroup, file)</td><td>GnomeCanvasItem *gcompris_set_background(GnomeCanvasGroup *parent, gchar *file)</td><td>return a gnome.canvas.CanvasItem object</td></tr><tr><td>gcompris.bar_set_level(gcomprisBoard)</td><td>void gcompris_bar_set_level(GcomprisBoard *gcomprisBoard)</td><td> </td></tr><tr><td>gcompris.bar_set_repeat_icon(pixmap)</td><td>void gcompris_bar_set_repeat_icon(GdkPixbuf *pixmap)</td><td> </td></tr><tr><td>gcompris.bar_set(flags)</td><td>void gcompris_bar_set(const GComprisBarFlags flags)</td><td> </td></tr><tr><td>gcompris.bar_hide(hide)</td><td>void gcompris_bar_hide(gboolean hide)</td><td> </td></tr><tr><td>gcompris.board_has_help(gcomprisBoard)</td><td>gboolean gcompris_board_has_help(GcomprisBoard *gcomprisBoard)</td><td>return a boolean</td></tr><tr><td>gcompris.help_start(gcomprisBoard)</td><td>void gcompris_help_start(GcomprisBoard *gcomprisBoard)</td><td> </td></tr><tr><td>gcompris.help_stop()</td><td>void gcompris_help_stop(void)</td><td> </td></tr><tr><td>gcompris.get_canvas()</td><td>GnomeCanvas* gcompris_get_canvas()</td><td>return a gnome.canvas.Canvas</td></tr><tr><td>gcompris.get_window()</td><td>GtkWidget* gcompris_get_window(void)</td><td>return a gtk.Widget</td></tr><tr><td>gcompris.get_locale()</td><td>gchar* gcompris_get_locale(void)</td><td>return a string</td></tr><tr><td>gcompris.set_locale(locale)</td><td>void gcompris_set_locale(gchar *locale)</td><td> </td></tr><tr><td>gcompris.set_cursor(cursor_type)</td><td>void gcompris_set_cursor(guint gdk_cursor_type)</td><td> </td></tr><tr><td>gcompris.images_selector_start(gcomprisBoard, dataset, callback)</td><td>void gcompris_images_selector_start (GcomprisBoard *gcomprisBoard, gchar *dataset, ImageSelectorCallBack imscb)</td><td>The callback must be a callable object</td></tr><tr><td>gcompris.images_selector_stop()</td><td>void gcompris_images_selector_stop(void)</td><td> </td></tr><tr><td>gcompris.exit()</td><td>void gcompris_exit(void)</td><td> </td></tr><tr><td>gcompris.log_set_reason (gcomprisBoard, expected, got)</td><td>gcompris_log_set_reason (GcomprisBoard *gcomprisBoard, gchar *expected, gchar *got)</td><td> </td></tr><tr><td>gcompris.log_end (gcomprisBoard, status)</td><td>gcompris_log_end (GcomprisBoard *gcomprisBoard, gchar *status)</td><td> </td></tr><tr><td>gcompris.file_selector_load(gcomprisBoard, rootdir, file_types, callback)</td><td>void gcompris_file_selector_load (GcomprisBoard *gcomprisBoard, gchar *rootdir, gchar *file_types, FileSelectorCallBack fscb)</td><td>The callback must be a callable object</td></tr><tr><td>gcompris.file_selector_save(gcomprisBoard, rootdir, file_types, callback)</td><td>void gcompris_file_selector_save(GcomprisBoard *gcomprisBoard, gchar *rootdir,gchar *file_types, FileSelectorCallBack fscb)</td><td>The callback must be a callable object</td></tr><tr><td>gcompris.file_selector_stop()</td><td>void gcompris_file_selector_stop(void)</td><td> </td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2451914"></a>GComprisBarFlags enum mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.BAR_LEVEL</td><td>GCOMPRIS_BAR_LEVEL</td></tr><tr><td>gcompris.BAR_OK</td><td>GCOMPRIS_BAR_OK</td></tr><tr><td>gcompris.BAR_REPEAT</td><td>GCOMPRIS_BAR_REPEAT</td></tr><tr><td>gcompris.BAR_REPEAT_ICON</td><td>GCOMPRIS_BAR_REPEAT_ICON</td></tr><tr><td>gcompris.BAR_CONFIG</td><td>GCOMPRIS_BAR_CONFIG</td></tr><tr><td>gcompris.BAR_ABOUT</td><td>GCOMPRIS_BAR_ABOUT</td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2452009"></a>Misc constants mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.BOARD_HEIGHT</td><td>BOARDHEIGHT</td></tr><tr><td>gcompris.BOARD_WIDTH</td><td>BOARDWIDTH</td></tr><tr><td>gcompris.BAR_HEIGHT</td><td>BAR_HEIGHT</td></tr><tr><td>gcompris.DEFAULT_SKIN</td><td>DEFAULT_SKIN</td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2452074"></a>Colors constants mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.COLOR_TITLE</td><td>COLOR_TITLE</td></tr><tr><td>gcompris.COLOR_TEXT_BUTTON</td><td>COLOR_TEXT_BUTTON</td></tr><tr><td>gcompris.COLOR_CONTENT</td><td>COLOR_CONTENT</td></tr><tr><td>gcompris.COLOR_SUBTITLE</td><td>COLOR_SUBTITLE</td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2513005"></a>Fonts constants mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.FONT_TITLE</td><td>FONT_TITLE</td></tr><tr><td>gcompris.FONT_TITLE_FALLBACK</td><td>FONT_TITLE_FALLBACK</td></tr><tr><td>gcompris.FONT_SUBTITLE</td><td>FONT_SUBTITLE</td></tr><tr><td>gcompris.FONT_SUBTITLE_FALLBACK</td><td>FONT_SUBTITLE_FALLBACK</td></tr><tr><td>gcompris.FONT_CONTENT</td><td>FONT_CONTENT</td></tr><tr><td>gcompris.FONT_CONTENT_FALLBACK</td><td>FONT_CONTENT_FALLBACK</td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2513081"></a>Board font constants mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.FONT_BOARD_TINY</td><td>FONT_BOARD_TINY</td></tr><tr><td>gcompris.FONT_BOARD_SMALL</td><td>FONT_BOARD_SMALL</td></tr><tr><td>gcompris.FONT_BOARD_MEDIUM</td><td>FONT_BOARD_MEDIUM</td></tr><tr><td>gcompris.FONT_BOARD_BIG</td><td>FONT_BOARD_BIG</td></tr><tr><td>gcompris.FONT_BOARD_BIG_BOLD</td><td>FONT_BOARD_BIG_BOLD</td></tr><tr><td>gcompris.FONT_BOARD_FIXED</td><td>FONT_BOARD_FIXED</td></tr><tr><td>gcompris.FONT_BOARD_TITLE</td><td>FONT_BOARD_TITLE</td></tr><tr><td>gcompris.FONT_BOARD_TITLE_BOLD</td><td>FONT_BOARD_TITLE_BOLD</td></tr><tr><td>gcompris.FONT_BOARD_HUGE</td><td>FONT_BOARD_HUGE</td></tr><tr><td>gcompris.FONT_BOARD_HUGE_BOLD</td><td>FONT_BOARD_HUGE_BOLD</td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2513188"></a>Cursor constants mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.CURSOR_FIRST_CUSTOM</td><td>GCOMPRIS_FIRST_CUSTOM_CURSOR</td></tr><tr><td>gcompris.CURSOR_BIG_RED_ARROW</td><td>GCOMPRIS_BIG_RED_ARROW_CURSOR</td></tr><tr><td>gcompris.CURSOR_BIRD</td><td>GCOMPRIS_BIRD_CURSOR</td></tr><tr><td>gcompris.CURSOR_LINE</td><td>GCOMPRIS_LINE_CURSOR</td></tr><tr><td>gcompris.CURSOR_FILLRECT</td><td>GCOMPRIS_FILLRECT_CURSOR</td></tr><tr><td>gcompris.CURSOR_RECT</td><td>GCOMPRIS_RECT_CURSOR</td></tr><tr><td>gcompris.CURSOR_FILLCIRCLE</td><td>GCOMPRIS_FILLCIRCLE_CURSOR</td></tr><tr><td>gcompris.CURSOR_CIRCLE</td><td>GCOMPRIS_CIRCLE_CURSOR</td></tr><tr><td>gcompris.CURSOR_DEL</td><td>GCOMPRIS_DEL_CURSOR</td></tr><tr><td>gcompris.CURSOR_FILL</td><td>GCOMPRIS_FILL_CURSOR</td></tr><tr><td>gcompris.CURSOR_SELECT</td><td>GCOMPRIS_SELECT_CURSOR</td></tr><tr><td>gcompris.CURSOR_DEFAULT</td><td>GCOMPRIS_DEFAULT_CURSOR</td></tr></tbody></table></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2513313"></a>gameutil.h functions and constants Mapping</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2513319"></a>Functions mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Python function</th><th>C equivalent</th><th>Notes</th></tr></thead><tbody><tr><td>gcompris.utils.image_to_skin(imagename)</td><td>gchar *gcompris_image_to_skin(gchar *imagename)</td><td>return a string</td></tr><tr><td>gcompris.utils.load_skin_pixmap(pixmapfile)</td><td>GdkPixbuf *gcompris_load_skin_pixmap(char *pixmapfile)</td><td>return a gtk.gdk.Pixbuf</td></tr><tr><td>gcompris.utils.load_pixmap(pixmapfile)</td><td>GdkPixbuf *gcompris_load_pixmap(char *pixmapfile)</td><td>return a gtk.gdk.Pixbuf</td></tr><tr><td>gcompris.utils.set_image_focus(item, focus)</td><td>void gcompris_set_image_focus(GnomeCanvasItem *item, gboolean focus)</td><td> </td></tr><tr><td>gcompris.utils.item_event_focus(item, event, dest_item)</td><td>gint gcompris_item_event_focus(GnomeCanvasItem *item, GdkEvent *event, GnomeCanvasItem *dest_item)</td><td>return an integer</td></tr><tr><td>gcompris.utils.item_absolute_move(item, x, y)</td><td>void item_absolute_move(GnomeCanvasItem *item, int x, int y)</td><td> </td></tr><tr><td>gcompris.utils.item_rotate(item, angle)</td><td>void item_rotate(GnomeCanvasItem *item, double angle)</td><td> </td></tr><tr><td>gcompris.utils.item_rotate_relative(item, angle)</td><td>void item_rotate_relative(GnomeCanvasItem *item, double angle)</td><td> </td></tr><tr><td>gcompris.utils.item_rotate_with_center(item, angle, x, y)</td><td>void item_rotate_with_center(GnomeCanvasItem *item, double angle, int x, int y)</td><td> </td></tr><tr><td>gcompris.utils.item_rotate_relative_with_center(item, angle, x, y)</td><td>void item_rotate_relative_with_center(GnomeCanvasItem *item, double angle, int x, int y)</td><td> </td></tr><tr><td>gcompris.utils.dialog(str, callback)</td><td>void gcompris_dialog(gchar *str, DialogBoxCallBack callback)</td><td>The callback must be a callable object</td></tr><tr><td>gcompris.utils.dialog_close()</td><td>void gcompris_dialog_close()</td><td> </td></tr><tr><td>gcompris.utils.load_pixmap_asset(dataset, categories, mimetype, name)</td><td>GdkPixbuf *gcompris_load_pixmap_asset(gchar *dataset, gchar* categories, gchar* mimetype, gchar* name)</td><td>return a gtk.gdk.Pixbuf</td></tr><tr><td>gcompris.utils.get_asset_file(dataset, categories, mimetype, name)</td><td>gchar *gcompris_get_asset_file(gchar *dataset, gchar* categories, gchar* mimetype, gchar* name)</td><td>return a string</td></tr><tr><td>gcompris.utils.clone_item(item, parent)</td><td>void gcompris_clone_item(GnomeCanvasItem *item, GnomeCanvasGroup *parent)</td><td> </td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2513575"></a>Constants mapping</h3></div></div></div><p>
+attribute is readeable and/or writable.</p><div class="informaltable"><table border="1"><colgroup><col><col><col><col></colgroup><thead><tr><th>Structure member</th><th>Type</th><th>Readable</th><th>Writable</th></tr></thead><tbody><tr><td>type</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>board_ready</td><td>boolean</td><td>Y</td><td>N</td></tr><tr><td>mode</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>name</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>title</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>description</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>icon_name</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>author</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>boarddir</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>filename</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>difficulty</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>mandatory_sound_file</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>section</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>menuposotion</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>prerequisite</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>goal</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>manual</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>credit</td><td>string</td><td>Y</td><td>N</td></tr><tr><td>width</td><td>int</td><td>Y</td><td>N</td></tr><tr><td>height</td><td>int</td><td>Y</td><td>N</td></tr><tr><td>canvas</td><td>gnome.canvas.Canvas</td><td>Y</td><td>N</td></tr><tr><td>previous_board</td><td>GcomprisBoard</td><td>Y</td><td>N</td></tr><tr><td>level</td><td>int</td><td>Y</td><td>Y</td></tr><tr><td>maxlevel</td><td>int</td><td>Y</td><td>Y</td></tr><tr><td>sublevel</td><td>int</td><td>Y</td><td>Y</td></tr><tr><td>number_of_sublevel</td><td>int</td><td>Y</td><td>Y</td></tr></tbody></table></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2486794"></a>gcompris.h functions and constants Mapping</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2486799"></a>Functions mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Python function</th><th>C equivalent</th><th>Notes</th></tr></thead><tbody><tr><td>gcompris.end_board()</td><td>void gc_board_end(void)</td><td> </td></tr><tr><td>gcompris.bar_start(gnomeCanvas)</td><td>void gc_bar_start(GnomeCanvas *theCanvas)</td><td> </td></tr><tr><td>gcompris.set_background(gnomeCanvasGroup, file)</td><td>GnomeCanvasItem *gc_set_background(GnomeCanvasGroup *parent, gchar *file)</td><td>return a gnome.canvas.CanvasItem object</td></tr><tr><td>gcompris.bar_set_level(gcomprisBoard)</td><td>void gc_bar_set_level(GcomprisBoard *gcomprisBoard)</td><td> </td></tr><tr><td>gcompris.bar_set_repeat_icon(pixmap)</td><td>void gc_bar_set_repeat_icon(GdkPixbuf *pixmap)</td><td> </td></tr><tr><td>gcompris.bar_set(flags)</td><td>void gc_bar_set(const GComprisBarFlags flags)</td><td> </td></tr><tr><td>gcompris.bar_hide(hide)</td><td>void gc_bar_hide(gboolean hide)</td><td> </td></tr><tr><td>gcompris.get_canvas()</td><td>GnomeCanvas* gc_get_canvas()</td><td>return a gnome.canvas.Canvas</td></tr><tr><td>gcompris.get_window()</td><td>GtkWidget* gc_get_window(void)</td><td>return a gtk.Widget</td></tr><tr><td>gcompris.get_locale()</td><td>gchar* gc_locale_get(void)</td><td>return a string</td></tr><tr><td>gcompris.set_locale(locale)</td><td>void gc_locale_set(gchar *locale)</td><td> </td></tr><tr><td>gcompris.set_cursor(cursor_type)</td><td>void gc_cursor_set(guint gdk_cursor_type)</td><td> </td></tr><tr><td>gcompris.images_selector_start(gcomprisBoard, dataset, callback)</td><td>void gc_selector_images_start (GcomprisBoard *gcomprisBoard, gchar *dataset, ImageSelectorCallBack imscb)</td><td>The callback must be a callable object</td></tr><tr><td>gcompris.images_selector_stop()</td><td>void gc_selector_images_stop(void)</td><td> </td></tr><tr><td>gcompris.exit()</td><td>void gc_exit(void)</td><td> </td></tr><tr><td>gcompris.log_set_reason (gcomprisBoard, expected, got)</td><td>gc_log_set_reason (GcomprisBoard *gcomprisBoard, gchar *expected, gchar *got)</td><td> </td></tr><tr><td>gcompris.log_end (gcomprisBoard, status)</td><td>gc_log_end (GcomprisBoard *gcomprisBoard, gchar *status)</td><td> </td></tr><tr><td>gcompris.file_selector_load(gcomprisBoard, rootdir, file_types, callback)</td><td>void gc_selector_file_load (GcomprisBoard *gcomprisBoard, gchar *rootdir, gchar *file_types, FileSelectorCallBack fscb)</td><td>The callback must be a callable object</td></tr><tr><td>gcompris.file_selector_save(gcomprisBoard, rootdir, file_types, callback)</td><td>void gc_selector_file_save(GcomprisBoard *gcomprisBoard, gchar *rootdir,gchar *file_types, FileSelectorCallBack fscb)</td><td>The callback must be a callable object</td></tr><tr><td>gcompris.file_selector_stop()</td><td>void gc_selector_file_stop(void)</td><td> </td></tr><tr><td>gcompris.get_database()</td><td>gchar* gc_db_get_filename(void)</td><td>return the filename (string) of the database (fullpath)</td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2487128"></a>GComprisBarFlags enum mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.BAR_LEVEL</td><td>GCOMPRIS_BAR_LEVEL</td></tr><tr><td>gcompris.BAR_OK</td><td>GCOMPRIS_BAR_OK</td></tr><tr><td>gcompris.BAR_REPEAT</td><td>GCOMPRIS_BAR_REPEAT</td></tr><tr><td>gcompris.BAR_REPEAT_ICON</td><td>GCOMPRIS_BAR_REPEAT_ICON</td></tr><tr><td>gcompris.BAR_CONFIG</td><td>GCOMPRIS_BAR_CONFIG</td></tr><tr><td>gcompris.BAR_ABOUT</td><td>GCOMPRIS_BAR_ABOUT</td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2487223"></a>Misc constants mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.BOARD_HEIGHT</td><td>BOARDHEIGHT</td></tr><tr><td>gcompris.BOARD_WIDTH</td><td>BOARDWIDTH</td></tr><tr><td>gcompris.BAR_HEIGHT</td><td>BAR_HEIGHT</td></tr><tr><td>gcompris.DEFAULT_SKIN</td><td>DEFAULT_SKIN</td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2487288"></a>Colors constants mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.COLOR_TITLE</td><td>COLOR_TITLE</td></tr><tr><td>gcompris.COLOR_TEXT_BUTTON</td><td>COLOR_TEXT_BUTTON</td></tr><tr><td>gcompris.COLOR_CONTENT</td><td>COLOR_CONTENT</td></tr><tr><td>gcompris.COLOR_SUBTITLE</td><td>COLOR_SUBTITLE</td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2534004"></a>Fonts constants mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.FONT_TITLE</td><td>FONT_TITLE</td></tr><tr><td>gcompris.FONT_TITLE_FALLBACK</td><td>FONT_TITLE_FALLBACK</td></tr><tr><td>gcompris.FONT_SUBTITLE</td><td>FONT_SUBTITLE</td></tr><tr><td>gcompris.FONT_SUBTITLE_FALLBACK</td><td>FONT_SUBTITLE_FALLBACK</td></tr><tr><td>gcompris.FONT_CONTENT</td><td>FONT_CONTENT</td></tr><tr><td>gcompris.FONT_CONTENT_FALLBACK</td><td>FONT_CONTENT_FALLBACK</td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2534080"></a>Board font constants mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.FONT_BOARD_TINY</td><td>FONT_BOARD_TINY</td></tr><tr><td>gcompris.FONT_BOARD_SMALL</td><td>FONT_BOARD_SMALL</td></tr><tr><td>gcompris.FONT_BOARD_MEDIUM</td><td>FONT_BOARD_MEDIUM</td></tr><tr><td>gcompris.FONT_BOARD_BIG</td><td>FONT_BOARD_BIG</td></tr><tr><td>gcompris.FONT_BOARD_BIG_BOLD</td><td>FONT_BOARD_BIG_BOLD</td></tr><tr><td>gcompris.FONT_BOARD_FIXED</td><td>FONT_BOARD_FIXED</td></tr><tr><td>gcompris.FONT_BOARD_TITLE</td><td>FONT_BOARD_TITLE</td></tr><tr><td>gcompris.FONT_BOARD_TITLE_BOLD</td><td>FONT_BOARD_TITLE_BOLD</td></tr><tr><td>gcompris.FONT_BOARD_HUGE</td><td>FONT_BOARD_HUGE</td></tr><tr><td>gcompris.FONT_BOARD_HUGE_BOLD</td><td>FONT_BOARD_HUGE_BOLD</td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2534187"></a>Cursor constants mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.CURSOR_FIRST_CUSTOM</td><td>GCOMPRIS_FIRST_CUSTOM_CURSOR</td></tr><tr><td>gcompris.CURSOR_LINE</td><td>GCOMPRIS_LINE_CURSOR</td></tr><tr><td>gcompris.CURSOR_FILLRECT</td><td>GCOMPRIS_FILLRECT_CURSOR</td></tr><tr><td>gcompris.CURSOR_RECT</td><td>GCOMPRIS_RECT_CURSOR</td></tr><tr><td>gcompris.CURSOR_FILLCIRCLE</td><td>GCOMPRIS_FILLCIRCLE_CURSOR</td></tr><tr><td>gcompris.CURSOR_CIRCLE</td><td>GCOMPRIS_CIRCLE_CURSOR</td></tr><tr><td>gcompris.CURSOR_DEL</td><td>GCOMPRIS_DEL_CURSOR</td></tr><tr><td>gcompris.CURSOR_FILL</td><td>GCOMPRIS_FILL_CURSOR</td></tr><tr><td>gcompris.CURSOR_SELECT</td><td>GCOMPRIS_SELECT_CURSOR</td></tr><tr><td>gcompris.CURSOR_DEFAULT</td><td>GCOMPRIS_DEFAULT_CURSOR</td></tr></tbody></table></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2534296"></a>gameutil.h functions and constants Mapping</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2534302"></a>Functions mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Python function</th><th>C equivalent</th><th>Notes</th></tr></thead><tbody><tr><td>gcompris.utils.image_to_skin(imagename)</td><td>gchar *gc_skin_image_get(gchar *imagename)</td><td>return a string</td></tr><tr><td>gcompris.utils.load_skin_pixmap(pixmapfile)</td><td>GdkPixbuf *gcompris_skin_pixmap_load(char *pixmapfile)</td><td>return a gtk.gdk.Pixbuf</td></tr><tr><td>gcompris.utils.load_pixmap(pixmapfile)</td><td>GdkPixbuf *gc_pixmap_load(char *pixmapfile)</td><td>return a gtk.gdk.Pixbuf</td></tr><tr><td>gcompris.utils.set_image_focus(item, focus)</td><td>void gc_item_focus_set(GnomeCanvasItem *item, gboolean focus)</td><td> </td></tr><tr><td>gcompris.utils.item_event_focus(item, event, dest_item)</td><td>gint gc_item_focus_event(GnomeCanvasItem *item, GdkEvent *event, GnomeCanvasItem *dest_item)</td><td>return an integer</td></tr><tr><td>gcompris.utils.item_absolute_move(item, x, y)</td><td>void gc_item_absolute_move(GnomeCanvasItem *item, int x, int y)</td><td> </td></tr><tr><td>gcompris.utils.item_rotate(item, angle)</td><td>void gc_item_rotate(GnomeCanvasItem *item, double angle)</td><td> </td></tr><tr><td>gcompris.utils.item_rotate_relative(item, angle)</td><td>void gc_item_rotate_relative(GnomeCanvasItem *item, double angle)</td><td> </td></tr><tr><td>gcompris.utils.item_rotate_with_center(item, angle, x, y)</td><td>void gc_item_rotate_with_center(GnomeCanvasItem *item, double angle, int x, int y)</td><td> </td></tr><tr><td>gcompris.utils.item_rotate_relative_with_center(item, angle, x, y)</td><td>void gc_item_rotate_relative_with_center(GnomeCanvasItem *item, double angle, int x, int y)</td><td> </td></tr><tr><td>gcompris.utils.dialog(str, callback)</td><td>void gc_dialog(gchar *str, DialogBoxCallBack callback)</td><td>The callback must be a callable object</td></tr><tr><td>gcompris.utils.dialog_close()</td><td>void gc_dialog_close()</td><td> </td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2534510"></a>Constants mapping</h3></div></div></div><p>
There is no constants in this package.
- </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2513587"></a>bonus.h functions and constants Mapping</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2513593"></a>Functions mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Python function</th><th>C equivalent</th><th>Notes</th></tr></thead><tbody><tr><td>gcompris.bonus.display(BonusStatusList, BonusList)</td><td>void gcompris_display_bonus(BonusStatusList, BonusList)</td><td> </td></tr><tr><td>gcompris.bonus.board_finished(BoardFinishedList)</td><td>void board_finished(BoardFinishedList)</td><td> </td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2513656"></a>Constants mapping (BonusStatusList)</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.bonus.LOOSE</td><td>BOARD_LOOSE</td></tr><tr><td>gcompris.bonus.WIN</td><td>BOARD_WIN</td></tr><tr><td>gcompris.bonus.DRAW</td><td>BOARD_DRAW</td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2513712"></a>Constants mapping (BonusList)</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.bonus.TIME_CLICK_TO</td><td>TIME_CLICK_TO_BONUS</td></tr><tr><td>gcompris.bonus.RANDOM</td><td>BONUS_RANDOM</td></tr><tr><td>gcompris.bonus.SMILEY</td><td>BONUS_SMILEY</td></tr><tr><td>gcompris.bonus.FLOWER</td><td>BONUS_FLOWER</td></tr><tr><td>gcompris.bonus.TUX</td><td>BONUS_TUX</td></tr><tr><td>gcompris.bonus.LAST</td><td>BONUS_LAST</td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2513795"></a>Constants mapping (BoardFinishedList)</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.bonus.FINISHED_RANDOM</td><td>BOARD_FINISHED_RANDOM</td></tr><tr><td>gcompris.bonus.FINISHED_TUXPLANE</td><td>BOARD_FINISHED_TUXPLANE</td></tr><tr><td>gcompris.bonus.FINISHED_TUXLOCO</td><td>BOARD_FINISHED_TUXLOCO</td></tr><tr><td>gcompris.bonus.FINISHED_TOOMANYERRORS</td><td>BOARD_FINISHED_TOOMANYERRORS</td></tr><tr><td>gcompris.bonus.FINISHED_LAST</td><td>BOARD_FINISHED_LAST</td></tr></tbody></table></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2513872"></a>score.h functions and constants Mapping</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2513878"></a>Functions mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Python function</th><th>C equivalent</th><th>Notes</th></tr></thead><tbody><tr><td>gcompris.score.start(style, x, y, max)</td><td>void gcompris_score_start(ScoreStyleList style, guint x, guint y, guint max)</td><td> </td></tr><tr><td>gcompris.score.end()</td><td>void gcompris_score_end()</td><td> </td></tr><tr><td>gcompris.score.set(value)</td><td>void gcompris_score_set(guint value)</td><td> </td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2513953"></a>Constants mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.score.STYLE_NOTE</td><td>SCORESTYLE_NOTE</td></tr><tr><td>gcompris.score.STYLE_LIFE</td><td>SCORESTYLE_LIFE</td></tr><tr><td>gcompris.score.LAST</td><td>SCORE_LAST</td></tr></tbody></table></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2514011"></a>sound.h functions and constants Mapping</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2514017"></a>Functions mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Python function</th><th>C equivalent</th><th>Notes</th></tr></thead><tbody><tr><td>gcompris.sound.play_ogg_list(list)</td><td>void gcompris_play_ogg_list( GList* files )</td><td>The list argument is a GList</td></tr><tr><td>gcompris.sound.play_ogg(list)</td><td>void gcompris_play_ogg(char *, ...)</td><td>The list argument is a python list containing strings</td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2514083"></a>Constants mapping</h3></div></div></div><p>
+ </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2534522"></a>bonus.h functions and constants Mapping</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2534529"></a>Functions mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Python function</th><th>C equivalent</th><th>Notes</th></tr></thead><tbody><tr><td>gcompris.bonus.display(BonusStatusList, BonusList)</td><td>void gc_bonus_display(BonusStatusList, BonusList)</td><td> </td></tr><tr><td>gcompris.bonus.board_finished(BoardFinishedList)</td><td>void gc_bonus_end_display(BoardFinishedList)</td><td> </td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2534591"></a>Constants mapping (BonusStatusList)</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.bonus.LOOSE</td><td>BOARD_LOOSE</td></tr><tr><td>gcompris.bonus.WIN</td><td>BOARD_WIN</td></tr><tr><td>gcompris.bonus.DRAW</td><td>BOARD_DRAW</td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2534648"></a>Constants mapping (BonusList)</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.bonus.TIME_CLICK_TO</td><td>TIME_CLICK_TO_BONUS</td></tr><tr><td>gcompris.bonus.RANDOM</td><td>BONUS_RANDOM</td></tr><tr><td>gcompris.bonus.SMILEY</td><td>BONUS_SMILEY</td></tr><tr><td>gcompris.bonus.FLOWER</td><td>BONUS_FLOWER</td></tr><tr><td>gcompris.bonus.TUX</td><td>BONUS_TUX</td></tr><tr><td>gcompris.bonus.GNU</td><td>BONUS_TUX</td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2534730"></a>Constants mapping (BoardFinishedList)</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.bonus.FINISHED_RANDOM</td><td>BOARD_FINISHED_RANDOM</td></tr><tr><td>gcompris.bonus.FINISHED_TUXPLANE</td><td>BOARD_FINISHED_TUXPLANE</td></tr><tr><td>gcompris.bonus.FINISHED_TUXLOCO</td><td>BOARD_FINISHED_TUXLOCO</td></tr><tr><td>gcompris.bonus.FINISHED_TOOMANYERRORS</td><td>BOARD_FINISHED_TOOMANYERRORS</td></tr></tbody></table></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2534799"></a>score.h functions and constants Mapping</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2534805"></a>Functions mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Python function</th><th>C equivalent</th><th>Notes</th></tr></thead><tbody><tr><td>gcompris.score.start(style, x, y, max)</td><td>void gc_score_start(ScoreStyleList style, guint x, guint y, guint max)</td><td> </td></tr><tr><td>gcompris.score.end()</td><td>void gc_score_end()</td><td> </td></tr><tr><td>gcompris.score.set(value)</td><td>void gc_score_set(guint value)</td><td> </td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2534880"></a>Constants mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.score.STYLE_NOTE</td><td>SCORESTYLE_NOTE</td></tr><tr><td>gcompris.score.STYLE_LIFE</td><td>SCORESTYLE_LIFE</td></tr></tbody></table></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2534930"></a>sound.h functions and constants Mapping</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2534936"></a>Functions mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Python function</th><th>C equivalent</th><th>Notes</th></tr></thead><tbody><tr><td>gcompris.sound.play_ogg_list(list)</td><td>void gc_sound_play_ogg_list( GList* files )</td><td>The list argument is a GList</td></tr><tr><td>gcompris.sound.play_ogg(list)</td><td>void gc_sound_play_ogg(char *, ...)</td><td>The list argument is a python list containing strings</td></tr><tr><td>gcompris.sound.play_ogg_cb(list)</td><td>void gc_sound_play_ogg_cb((const gchar *file, GcomprisSoundCallback cb)</td><td>The list argument is a python string and a function callback. It will be called once the sound has been played.</td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2535018"></a>Constants mapping</h3></div></div></div><p>
There is no constants in this package.
- </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2514095"></a>timer.h functions and constants Mapping</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2514101"></a>Functions mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Python function</th><th>C equivalent</th><th>Notes</th></tr></thead><tbody><tr><td>gcompris.timer.display(x, y, type, second, callback)</td><td>void gcompris_timer_display (int x, int y, TimerList type, int second, GcomprisTimerEnd gcomprisTimerEnd);</td><td>The callback must be a callable object</td></tr><tr><td>gcompris.timer.add(second)</td><td>void gcompris_timer_add(int second)</td><td> </td></tr><tr><td>gcompris.timer.end()</td><td>void gcompris_timer_end(void)</td><td> </td></tr><tr><td>gcompris.timer.get_remaining()</td><td>guint gcompris_timer_get_remaining()</td><td>Return an integer</td></tr><tr><td>gcompris.timer.pause(pause)</td><td>void gcompris_timer_pause(gboolean pause)</td><td> </td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2514207"></a>Constants mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.timer.TEXT</td><td>GCOMPRIS_TIMER_TEXT</td></tr><tr><td>gcompris.timer.SAND</td><td>GCOMPRIS_TIMER_SAND</td></tr><tr><td>gcompris.timer.BALLOON</td><td>GCOMPRIS_TIMER_BALLOON</td></tr><tr><td>gcompris.timer.CLOCK</td><td>GCOMPRIS_TIMER_CLOCK</td></tr></tbody></table></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2514273"></a>anim.h structures Mapping</h2></div></div></div><p>The gcompris.anim module supplies two objects, Animation and CanvasItems, corresponding to GcomprisAnimation and GcomprisAnimCanvasItem respectively.</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2514285"></a>Animation</h3></div></div></div><p>The Animation object represents a set of animation files loaded into memory; it has no methods or members, only a constructor and a destructor. The constructor takes a single argument, the name of a text file containing a space-separated list of animation files. Each animation file in the text file corresponds to an animation state; the animations states are numbered from 0 to n-1.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2514302"></a>CanvasItem</h3></div></div></div><p>The CanvasItem object is a bit more interesting than the Animation object. It represents an active instance of an animation file. Its constructor takes two arguments, an Animation and a GnomeCanvasGroup (the parent of the desired active animation).</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2514315"></a>Members</h4></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col><col><col></colgroup><thead><tr><th>Structure member</th><th>Type</th><th>Readable</th><th>Writable</th></tr></thead><tbody><tr><td>gnome_canvas</td><td>gnome.canvas.CanvasPixbuf</td><td>Y</td><td>N</td></tr><tr><td>num_states</td><td>int</td><td>Y</td><td>N</td></tr></tbody></table></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2514388"></a>Functions</h4></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Python function</th><th>C equivalent</th><th>Notes</th></tr></thead><tbody><tr><td>gcompris.anim.CanvasItem.setState(int)</td><td>gcompris_set_anim_state(GcomprisAnimCanvasItem*, int)</td><td> </td></tr></tbody></table></div></div></div></div></div></body></html>
+ </p></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2535030"></a>timer.h functions and constants Mapping</h2></div></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2535036"></a>Functions mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Python function</th><th>C equivalent</th><th>Notes</th></tr></thead><tbody><tr><td>gcompris.timer.display(x, y, type, second, callback)</td><td>void gcompris_timer_display (int x, int y, TimerList type, int second, GcomprisTimerEnd gcomprisTimerEnd);</td><td>The callback must be a callable object</td></tr><tr><td>gcompris.timer.add(second)</td><td>void gc_timer_add(int second)</td><td> </td></tr><tr><td>gcompris.timer.end()</td><td>void gc_timer_end(void)</td><td> </td></tr><tr><td>gcompris.timer.get_remaining()</td><td>guint gc_timer_get_remaining()</td><td>Return an integer</td></tr><tr><td>gcompris.timer.pause(pause)</td><td>void gc_timer_pause(gboolean pause)</td><td> </td></tr></tbody></table></div></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2535142"></a>Constants mapping</h3></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col></colgroup><thead><tr><th>Python constant</th><th>C equivalent</th></tr></thead><tbody><tr><td>gcompris.timer.TEXT</td><td>GCOMPRIS_TIMER_TEXT</td></tr><tr><td>gcompris.timer.SAND</td><td>GCOMPRIS_TIMER_SAND</td></tr><tr><td>gcompris.timer.BALLOON</td><td>GCOMPRIS_TIMER_BALLOON</td></tr><tr><td>gcompris.timer.CLOCK</td><td>GCOMPRIS_TIMER_CLOCK</td></tr></tbody></table></div></div></div><div class="sect1" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2535208"></a>anim.h structures Mapping</h2></div></div></div><p>The gcompris.anim module supplies two objects, Animation and CanvasItems, corresponding to GcomprisAnimation and GcomprisAnimCanvasItem respectively.</p><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2535220"></a>Animation</h3></div></div></div><p>The Animation object represents a set of animation files loaded into memory; it has no methods or members, only a constructor and a destructor. The constructor takes a single argument, the name of a text file containing a space-separated list of animation files. Each animation file in the text file corresponds to an animation state; the animations states are numbered from 0 to n-1.</p></div><div class="sect2" lang="en"><div class="titlepage"><div><div><h3 class="title"><a name="id2535236"></a>CanvasItem</h3></div></div></div><p>The CanvasItem object is a bit more interesting than the Animation object. It represents an active instance of an animation file. Its constructor takes two arguments, an Animation and a GnomeCanvasGroup (the parent of the desired active animation).</p><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2535250"></a>Members</h4></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col><col><col></colgroup><thead><tr><th>Structure member</th><th>Type</th><th>Readable</th><th>Writable</th></tr></thead><tbody><tr><td>gnome_canvas</td><td>gnome.canvas.CanvasPixbuf</td><td>Y</td><td>N</td></tr><tr><td>num_states</td><td>int</td><td>Y</td><td>N</td></tr></tbody></table></div></div><div class="sect3" lang="en"><div class="titlepage"><div><div><h4 class="title"><a name="id2535323"></a>Functions</h4></div></div></div><div class="informaltable"><table border="1"><colgroup><col><col><col></colgroup><thead><tr><th>Python function</th><th>C equivalent</th><th>Notes</th></tr></thead><tbody><tr><td>gcompris.anim.CanvasItem.setState(int)</td><td>gc_anim_set_state(GcomprisAnimCanvasItem*, int)</td><td> </td></tr></tbody></table></div></div></div></div></div></body></html>
diff --git a/docs/C/python.xml b/docs/C/python.xml
index 00c8d2a..e116dcc 100644
--- a/docs/C/python.xml
+++ b/docs/C/python.xml
@@ -36,6 +36,10 @@ xsltproc -o python.html http://docbook.sourceforge.net/release/xsl/current/html/
<revnumber>0.4</revnumber>
<date>January 2005</date>
</revision>
+ <revision>
+ <revnumber>0.5</revnumber>
+ <date>December 2006</date>
+ </revision>
</revhistory>
</articleinfo>
<title>Python wrapper for Gcompris</title>
@@ -438,9 +442,6 @@ attribute is readeable and/or writable.</para>
<tbody>
<row><entry>gcompris.CURSOR_FIRST_CUSTOM</entry>
<entry>GCOMPRIS_FIRST_CUSTOM_CURSOR</entry></row>
- <row><entry>gcompris.CURSOR_BIG_RED_ARROW</entry>
- <entry>GCOMPRIS_BIG_RED_ARROW_CURSOR</entry></row>
- <row><entry>gcompris.CURSOR_BIRD</entry><entry>GCOMPRIS_BIRD_CURSOR</entry></row>
<row><entry>gcompris.CURSOR_LINE</entry><entry>GCOMPRIS_LINE_CURSOR</entry></row>
<row><entry>gcompris.CURSOR_FILLRECT</entry><entry>GCOMPRIS_FILLRECT_CURSOR</entry></row>
<row><entry>gcompris.CURSOR_RECT</entry><entry>GCOMPRIS_RECT_CURSOR</entry></row>
diff --git a/docs/gcompris2spip.pl b/docs/gcompris2spip.pl
index 939e616..8600168 100755
--- a/docs/gcompris2spip.pl
+++ b/docs/gcompris2spip.pl
@@ -8,7 +8,7 @@ use Data::Dumper;
# Copyright (C) 2004-2005 Bruno Coudoin.
#
# gcompris2spip is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
+# modify it under the terms of the GNU General Public License
# version 2 published by the Free Software Foundation.
#
# Intltool is distributed in the hope that it will be useful,
@@ -64,6 +64,7 @@ my %sections = (
"hu", 121,
"it", 60,
"ka", 0,
+ "ko", 0,
"lt", 0,
"mk", 0,
"ml", 0,
@@ -123,6 +124,7 @@ my %rubriques = (
"hu", 123,
"it", 66,
"ka", 0,
+ "ko", 0,
"lt", 0,
"mk", 0,
"ml", 0,
@@ -183,6 +185,7 @@ my %rubriques_all = (
"hu", 124,
"it", 67,
"ka", 0,
+ "ko", 0,
"lt", 0,
"mk", 0,
"ml", 0,
diff --git a/po/ChangeLog b/po/ChangeLog
index 1866369..544ab38 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -1,3 +1,31 @@
+2006-12-06 Francisco Javier F. Serrador <serrador@openshine.com>
+
+ * es.po: Updated Spanish translation.
+
+2006-12-02 Bruno Coudoin <bruno.coudoin@free.fr>
+
+ * ko.po: Create Korean Translation by:
+ Abigail Brady <morwen@evilmagi_c.org>
+ Bastien Nocera <hadess@hadess.net>
+ Gareth Owen <gowen72@yahoo.com>
+
+2006-12-1 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation.
+
+2006-11-29 Alessio Frusciante <algol@firenze.linux.it>
+
+ * it.po: Updated Italian translation by
+ Immacolata Arenga <imma@eppesuigoccas.homedns.org>.
+
+2006-11-18 Djihed Afifi <djihed@gmail.com>
+
+ * ar.po: Updated Arabic Translation.
+
+2006-11-18 Bruno Coudoin <bruno.coudoin@free.fr>
+
+ * pt_BR.po: Updated by Frederico Goncalves Guimaraes
+
2006-11-12 Ronny Standtke <Ronny.Standtke@gmx.net>
* de.po: Updated German translation.
diff --git a/po/POTFILES.in b/po/POTFILES.in
index b63ce1a..df13689 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -42,6 +42,7 @@ boards/ballcatch.xml.in
boards/bargame.xml.in
boards/billard.xml.in
boards/canal_lock.xml.in
+boards/chat.xml.in
boards/chess.xml.in
boards/chess_computer.xml.in
boards/chess_movelearn.xml.in
@@ -279,6 +280,7 @@ src/boards/railroad.c
src/boards/read_colors.c
src/boards/reading.c
src/boards/reversecount.c
+src/boards/scale.c
src/boards/shapegame.c
src/boards/smallnumbers.c
src/boards/submarine.c
diff --git a/po/ar.po b/po/ar.po
index 2e6cd76..6d0d4f7 100644
--- a/po/ar.po
+++ b/po/ar.po
@@ -5,11 +5,12 @@
# Copyright (C) 2005, 2006 Free Software Foundation, Inc.
# This file is distributed under the same license as the GCompris package.
# Nabil Ben Khalifa <nabil_benkhalifa@yahoo.fr>, 2005, 2006.
+# Djihed Afifi <djihed@gmail.com>, 2006.
msgid ""
msgstr ""
"Project-Id-Version: gcompris.HEAD.ar\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-11-07 03:37+0000\n"
+"POT-Creation-Date: 2006-12-01 23:34+0000\n"
"PO-Revision-Date: 2006-11-12 14:17+0100\n"
"Last-Translator: nabil\n"
"Language-Team: <en@li.org>\n"
@@ -429,7 +430,8 @@ msgstr "العمليات الحسابية الأربعة. أدمج العديد
msgid ""
"Work out the right combination of numbers and operations to match the given "
"value"
-msgstr "استنبط التركيبة الصحيحة من الأعداد و العمليات للحصول على النتيجة المبينة"
+msgstr ""
+"استنبط التركيبة الصحيحة من الأعداد و العمليات للحصول على النتيجة المبينة"
#: ../boards/algebra_minus.xml.in.h:1
msgid ""
@@ -461,7 +463,8 @@ msgid ""
"If not, just try again."
msgstr ""
"سيتم عرض حصيلة عملية جمع عددين. أدخل الإجابة على يمين علامة التساوي. استعمل "
-"الأسهم يمين يسار لتغيير إجابتك, Ùˆ Ù…Ùتاح الإدخال لتثبيت الإجابة. إذا أخطأت أعد المحاولة"
+"الأسهم يمين يسار لتغيير إجابتك, Ùˆ Ù…Ùتاح الإدخال لتثبيت الإجابة. إذا أخطأت "
+"أعد المحاولة"
#: ../boards/algebra_plus.xml.in.h:3
msgid ""
@@ -696,10 +699,10 @@ msgstr "اركل الكرة إلى الهدÙ"
#: ../boards/billard.xml.in.h:3 ../boards/chess_computer.xml.in.h:2
#: ../boards/chess_movelearn.xml.in.h:3 ../boards/chess_partyend.xml.in.h:2
#: ../boards/clickgame.xml.in.h:16 ../boards/connect4.xml.in.h:6
-#: ../boards/erase.xml.in.h:3 ../boards/erase_clic.xml.in.h:6
-#: ../boards/erase_double_clic.xml.in.h:6 ../boards/fifteen.xml.in.h:2
-#: ../boards/hanoi.xml.in.h:3 ../boards/memory.xml.in.h:4
-#: ../boards/tangram.xml.in.h:8
+#: ../boards/connect4-2players.xml.in.h:5 ../boards/erase.xml.in.h:3
+#: ../boards/erase_clic.xml.in.h:6 ../boards/erase_double_clic.xml.in.h:6
+#: ../boards/fifteen.xml.in.h:2 ../boards/hanoi.xml.in.h:3
+#: ../boards/memory.xml.in.h:4 ../boards/tangram.xml.in.h:8
msgid "Mouse-manipulation"
msgstr "استعمال الÙأرة"
@@ -1018,7 +1021,9 @@ msgid ""
"Set the clock to the time given, in the time-units shown (hours:minutes or "
"hours:minutes:seconds). Click on the different arrows, and move the mouse, "
"to make the numbers go up or down."
-msgstr "ثبت الساعة على الوقت المحدد, حسب وحدات الزمن المعروضة (ساعات:دقائق أو ساعات:دقائق:ثواني). انقر على عقارب الساعة Ùˆ حرك الÙأرة لتثبت الوقت الذي تريده "
+msgstr ""
+"ثبت الساعة على الوقت المحدد, حسب وحدات الزمن المعروضة (ساعات:دقائق أو ساعات:"
+"دقائق:ثواني). انقر على عقارب الساعة Ùˆ حرك الÙأرة لتثبت الوقت الذي تريده "
#: ../boards/clockgame.xml.in.h:5
msgid "The concept of time. Reading the time."
@@ -1044,7 +1049,9 @@ msgstr "استمع إلى اسم اللون ثم انقر على صورة الب
msgid ""
"This board teaches you to recognize different colors. When you hear the name "
"of the color, click on the duck wearing it."
-msgstr "تساعدك هذه اللوحة على التعر٠على مختل٠الألوان. حينما تسمع اسم لون انقر على البطة ذات Ù†Ùس اللون"
+msgstr ""
+"تساعدك هذه اللوحة على التعر٠على مختل٠الألوان. حينما تسمع اسم لون انقر على "
+"البطة ذات Ù†Ùس اللون"
#: ../boards/colors_group.xml.in.h:1
msgid "Colors based activities."
@@ -1062,19 +1069,22 @@ msgstr "اكتش٠الحاسوب"
msgid "Play with computer peripherals."
msgstr "العب مع الوحدات الملحقة للحاسوب"
-#: ../boards/connect4.xml.in.h:1
+#: ../boards/connect4.xml.in.h:1 ../boards/connect4-2players.xml.in.h:1
msgid "Arrange four coins in a row"
msgstr ""
-#: ../boards/connect4.xml.in.h:2
-msgid "Click anywhere in the line where you want to drop a piece"
+#: ../boards/connect4.xml.in.h:2 ../boards/connect4-2players.xml.in.h:2
+msgid ""
+"Click anywhere in the line where you want to drop a piece. Alternatively, "
+"you can use the arrow keys to move and the down, or space key to drop a "
+"piece."
msgstr ""
#: ../boards/connect4.xml.in.h:3
msgid "Connect 4"
msgstr ""
-#: ../boards/connect4.xml.in.h:4
+#: ../boards/connect4.xml.in.h:4 ../boards/connect4-2players.xml.in.h:4
msgid ""
"Create a line of 4 pieces either horizontally (lying down) or vertically "
"(standing up)"
@@ -1087,6 +1097,19 @@ msgid ""
"http://forcedattack.sourceforge.net&gt;"
msgstr ""
+#: ../boards/connect4-2players.xml.in.h:3
+#, fuzzy
+msgid "Connect 4 (2 Players)"
+msgstr "السباق البحري (لاعبين اثنين)"
+
+#: ../boards/connect4-2players.xml.in.h:6
+msgid ""
+"The original code was written in 2005 by Laurent Lacheny. In 2006, Miguel de "
+"Izarra made the two players game. Images and Artificial Intelligence taken "
+"from project 4stattack by Jeroen Vloothuis. The original project can be "
+"found on &lt;http://forcedattack.sourceforge.net&gt;"
+msgstr ""
+
#: ../boards/crane.xml.in.h:1
msgid "Build the same model"
msgstr ""
@@ -1234,14 +1257,17 @@ msgid ""
"(&lt;http://schmode.net/&gt;) and from LE BERRE Daniel. These people kindly "
"gave GCompris the authorization to include their pictures. Thanks a lot, "
"both of you."
-msgstr "رسوم الحيوانات مأخوذة من صÙحة صور الحيوانات لرال٠شمود ( http://schmode.net ) ومن عند دانيال لبر. وقد أعطى كلاهما مشكورا Gcompris الإذن لاستعمال هذه الصور"
+msgstr ""
+"رسوم الحيوانات مأخوذة من صÙحة صور الحيوانات لرال٠شمود ( http://schmode."
+"net ) ومن عند دانيال لبر. وقد أعطى كلاهما مشكورا Gcompris الإذن لاستعمال هذه "
+"الصور"
-#: ../boards/erase.xml.in.h:4 ../src/boards/erase.c:113
+#: ../boards/erase.xml.in.h:4 ../src/boards/erase.c:118
#: ../src/boards/machpuzzle.c:88
msgid "Move the mouse"
msgstr "حرك الÙأرة"
-#: ../boards/erase.xml.in.h:5 ../src/boards/erase.c:114
+#: ../boards/erase.xml.in.h:5 ../src/boards/erase.c:119
msgid "Move the mouse to erase the area and discover the background"
msgstr "حرك الÙأرة لمحو الشاشة Ùˆ اكتشا٠الخلÙية"
@@ -1296,7 +1322,8 @@ msgid ""
msgstr ""
#: ../boards/fifteen.xml.in.h:3
-msgid "Move each item to make an increasing series: from the smallest to the largest"
+msgid ""
+"Move each item to make an increasing series: from the smallest to the largest"
msgstr ""
#: ../boards/fifteen.xml.in.h:4
@@ -2440,7 +2467,8 @@ msgid ""
msgstr ""
#: ../boards/login.xml.in.h:1
-msgid "GCompris identifies each child, so we can provide child-specific reports."
+msgid ""
+"GCompris identifies each child, so we can provide child-specific reports."
msgstr ""
#: ../boards/login.xml.in.h:2
@@ -2943,9 +2971,9 @@ msgid ""
msgstr ""
"لاستعمال هذا البرنامج انقر على أيقونة للإنتقال إلى قائمة اختيارات أو نشاط "
"معين. \n"
-" يوجد ÙÙŠ أسÙÙ„ الشاشة مجموعة أيقونات للتحكم ÙÙŠ البرنامج سنقوم "
-"باستعراضها \n"
-"من اليمين إلى الشمال (لا يتم عرض أيقونة إلا إذا كانت متوÙرة ÙÙŠ النشاط الحالي) \n"
+" يوجد ÙÙŠ أسÙÙ„ الشاشة مجموعة أيقونات للتحكم ÙÙŠ البرنامج سنقوم باستعراضها \n"
+"من اليمين إلى الشمال (لا يتم عرض أيقونة إلا إذا كانت متوÙرة ÙÙŠ النشاط "
+"الحالي) \n"
"المنزل: الرجوع إلى قائمة الإختيارات السابقة أو الخروج من البرنامج. \n"
"الاصبع: ثبت إجابتك \n"
"النرد: عرض المستوي الحالي. انقر على النرد لتغيير المستوى \n"
@@ -2965,7 +2993,9 @@ msgstr "قائمة الإختيارات الرئيسية لGCompris"
msgid ""
"GCompris is a collection of educational games that provides different "
"activities for children aged 2 and up."
-msgstr "GCompris لعبة تربوية تحتوي على مجموعة من الأنشطة مناسبة لأطÙال سنهم عامين Ùما Ùوق "
+msgstr ""
+"GCompris لعبة تربوية تحتوي على مجموعة من الأنشطة مناسبة لأطÙال سنهم عامين "
+"Ùما Ùوق "
#: ../boards/menu.xml.in.h:18
msgid ""
@@ -3173,7 +3203,10 @@ msgstr "تعلم استعمال النقود"
msgid ""
"You must buy the different items and give the exact price. At higher levels, "
"several items are displayed, and you must first calculate the total price."
-msgstr "عليك أن تشتري السلع المعروضة Ùˆ أن تدÙع الثمن الصحيح كاملا. ÙÙŠ المستويات المتقدمة, يتم عرض مجموعة من السلع ÙÙŠ Ù†Ùس الوقت Ùˆ عليك أن تحسب الثمن الجملي لتدÙعه."
+msgstr ""
+"عليك أن تشتري السلع المعروضة Ùˆ أن تدÙع الثمن الصحيح كاملا. ÙÙŠ المستويات "
+"المتقدمة, يتم عرض مجموعة من السلع ÙÙŠ Ù†Ùس الوقت Ùˆ عليك أن تحسب الثمن الجملي "
+"لتدÙعه."
#: ../boards/money_cents.xml.in.h:4
msgid "Practice money usage including cents"
@@ -3336,7 +3369,8 @@ msgid "Test board for the python plugin"
msgstr ""
#: ../boards/pythontest.xml.in.h:5
-msgid "Thanks to Guido van Rossum and the python team for this powerful language!"
+msgid ""
+"Thanks to Guido van Rossum and the python team for this powerful language!"
msgstr ""
#: ../boards/railroad.xml.in.h:1
@@ -3668,7 +3702,8 @@ msgid "Sudoku, place unique symbols in a square."
msgstr ""
#: ../boards/sudoku.xml.in.h:4
-msgid "Symbols must be unique in a row, in a column, and (if defined) each region."
+msgid ""
+"Symbols must be unique in a row, in a column, and (if defined) each region."
msgstr ""
#: ../boards/sudoku.xml.in.h:5
@@ -3737,7 +3772,8 @@ msgid "The tangram puzzle game"
msgstr ""
#: ../boards/target.xml.in.h:1
-msgid "Can move the mouse, can read numbers and count up to 15 for the first level"
+msgid ""
+"Can move the mouse, can read numbers and count up to 15 for the first level"
msgstr ""
#: ../boards/target.xml.in.h:2
@@ -3856,23 +3892,23 @@ msgstr "مجموعة البرامج التربوية gcompris"
msgid "Multi-activity educational game"
msgstr ""
-#: ../src/boards/awele.c:352 ../src/boards/awele.c:362
+#: ../src/boards/awele.c:350 ../src/boards/awele.c:360
msgid "NORTH"
msgstr "شمال"
-#: ../src/boards/awele.c:374 ../src/boards/awele.c:384
+#: ../src/boards/awele.c:372 ../src/boards/awele.c:382
msgid "SOUTH"
msgstr "جنوب"
-#: ../src/boards/awele.c:553
+#: ../src/boards/awele.c:551
msgid "Choose a house"
msgstr ""
-#: ../src/boards/awele.c:681
+#: ../src/boards/awele.c:679
msgid "Your turn to play ..."
msgstr "حان دورك ..."
-#: ../src/boards/awele.c:750
+#: ../src/boards/awele.c:748
msgid "Not allowed! Try again !"
msgstr ""
@@ -3920,8 +3956,8 @@ msgstr ""
msgid "White mates"
msgstr ""
-#: ../src/boards/chess.c:1092 ../src/gcompris/bonus.c:342
-#: ../src/gcompris/bonus.c:351
+#: ../src/boards/chess.c:1092 ../src/gcompris/bonus.c:359
+#: ../src/gcompris/bonus.c:368
msgid "Drawn game"
msgstr "تعادل"
@@ -3961,7 +3997,7 @@ msgid ""
msgstr ""
#. toggle box
-#: ../src/boards/click_on_letter.c:646 ../src/boards/gletters.c:898
+#: ../src/boards/click_on_letter.c:646 ../src/boards/gletters.c:899
#: ../src/boards/python/login.py:540
msgid "Uppercase only text"
msgstr ""
@@ -4059,7 +4095,8 @@ msgid ""
msgstr ""
#: ../src/boards/maze.c:494
-msgid "Look at your position, then switch back to 3D mode to continue your moves"
+msgid ""
+"Look at your position, then switch back to 3D mode to continue your moves"
msgstr ""
#: ../src/boards/memory.c:286
@@ -4070,7 +4107,7 @@ msgstr "ذاكرة"
msgid "Find the matching pair"
msgstr ""
-#. TRANSLATORS: Put here the mathematical operators "+-�" for your language.
+#. TRANSLATORS: Put here the mathematical operators "+-×÷" for your language.
#: ../src/boards/memory.c:864
msgid "+-×÷"
msgstr "+-×÷"
@@ -4094,6 +4131,10 @@ msgstr ""
msgid "$ %.0f"
msgstr ""
+#: ../src/boards/paratrooper.c:437
+msgid "Control fall speed with up and down arrow keys."
+msgstr ""
+
#: ../src/boards/planegame.c:75
msgid "Move the plane to catch the clouds in the correct order"
msgstr "حرك الطائرة لتمسك بالسحاب حسب الترتيب الصحيح"
@@ -4178,7 +4219,7 @@ msgstr ""
#: ../src/boards/python/admin/board_list.py:631
#: ../src/boards/python/admin/board_list.py:649
#: ../src/boards/python/admin/wordlist.py:50 ../src/boards/python/login.py:535
-#: ../src/boards/python/pythontest.py:409 ../src/boards/python/tuxpaint.py:183
+#: ../src/boards/python/pythontest.py:409 ../src/boards/python/tuxpaint.py:206
#, python-format
msgid ""
"<b>%s</b> configuration\n"
@@ -4370,7 +4411,7 @@ msgstr ""
#: ../src/boards/python/admin/profile_list.py:121
#: ../src/boards/wordprocessor.c:53 ../src/gcompris/board_config.c:668
-#: ../src/gcompris/board_config.c:832
+#: ../src/gcompris/board_config.c:926
msgid "Default"
msgstr "الإÙتراضي"
@@ -4415,7 +4456,8 @@ msgid "Birth date:"
msgstr "تاريخ الولادة:"
#: ../src/boards/python/admin/user_edit.py:159
-msgid "You need to provide at least a login, first name and last name for your users"
+msgid ""
+"You need to provide at least a login, first name and last name for your users"
msgstr ""
#: ../src/boards/python/admin/user_edit.py:176
@@ -4612,7 +4654,7 @@ msgstr ""
msgid "Rebuild the same mosaic on the right area"
msgstr ""
-#: ../src/boards/python/melody.py:115
+#: ../src/boards/python/melody.py:118
msgid ""
"Error: this activity cannot be played with the\n"
"sound effects disabled.\n"
@@ -4627,11 +4669,13 @@ msgid ""
msgstr ""
#: ../src/boards/python/oscar_and_friends.py:117
-msgid "They were all happy that the storms never reached all the way down to them."
+msgid ""
+"They were all happy that the storms never reached all the way down to them."
msgstr ""
#: ../src/boards/python/oscar_and_friends.py:118
-msgid "No matter how bad it was up there, the bottom was always calm and quiet."
+msgid ""
+"No matter how bad it was up there, the bottom was always calm and quiet."
msgstr ""
#: ../src/boards/python/oscar_and_friends.py:119
@@ -4745,33 +4789,33 @@ msgstr ""
msgid "Distance:"
msgstr "المساÙØ©:"
-#: ../src/boards/python/tuxpaint.py:119
+#: ../src/boards/python/tuxpaint.py:144
msgid ""
"Cannot find Tuxpaint.\n"
"Install it to use this activity !"
msgstr ""
-#: ../src/boards/python/tuxpaint.py:132
+#: ../src/boards/python/tuxpaint.py:157
msgid "Waiting for Tuxpaint to finish"
msgstr ""
-#: ../src/boards/python/tuxpaint.py:187
+#: ../src/boards/python/tuxpaint.py:210
msgid "Inherit fullscreen setting from GCompris"
msgstr ""
-#: ../src/boards/python/tuxpaint.py:191
+#: ../src/boards/python/tuxpaint.py:214
msgid "Inherit size setting from GCompris (800x600, 640x480)"
msgstr ""
-#: ../src/boards/python/tuxpaint.py:195
+#: ../src/boards/python/tuxpaint.py:218
msgid "Disable shape rotation"
msgstr ""
-#: ../src/boards/python/tuxpaint.py:199
+#: ../src/boards/python/tuxpaint.py:222
msgid "Show Uppercase text only"
msgstr ""
-#: ../src/boards/python/tuxpaint.py:203
+#: ../src/boards/python/tuxpaint.py:226
msgid "Disable stamps"
msgstr ""
@@ -4789,57 +4833,40 @@ msgid ""
"a list of words to play this game.\n"
msgstr ""
-#: ../src/boards/reading.c:383
+#: ../src/boards/reading.c:381
msgid "Please, check if the word"
msgstr "تحقق من Ùضلك أن الكلمة "
-#: ../src/boards/reading.c:403
+#: ../src/boards/reading.c:401
msgid "is being displayed"
msgstr "معروضة على الشاشة"
-#: ../src/boards/reading.c:577
+#: ../src/boards/reading.c:575
msgid "I am Ready"
msgstr "أنا مستعد"
-#: ../src/boards/reading.c:617
+#: ../src/boards/reading.c:615
msgid "Yes, I saw it"
msgstr "نعم رأيتها"
-#: ../src/boards/reading.c:647
+#: ../src/boards/reading.c:645
msgid "No, it was not there"
msgstr "لا لم أرها"
#. Report what was wrong in the log
-#: ../src/boards/reading.c:685
+#: ../src/boards/reading.c:683
#, c-format
msgid "The word to find was '%s'"
msgstr "الكلمة التي نبحث عنها هي : '%s'"
-#: ../src/boards/reading.c:688
+#: ../src/boards/reading.c:686
msgid "But it was not displayed"
msgstr "لكن لم يكن معروضا"
-#: ../src/boards/reading.c:690
+#: ../src/boards/reading.c:688
msgid "And it was displayed"
msgstr "و كان معروضا"
-#. Enter Edit Mode
-#: ../src/boards/shapegame.c:436
-msgid ""
-"You have entered Edit mode\n"
-"Move the puzzle items;\n"
-"type 's' to save, and\n"
-"'d' to display all the shapes"
-msgstr ""
-
-#: ../src/boards/shapegame.c:444
-msgid ""
-"The data from this activity are saved under\n"
-"/tmp/gcompris-board.xml"
-msgstr ""
-"معطيات هاته اللوحة محÙوظة ÙÙŠ \n"
-"/tmp/gcompris-board.xml"
-
#: ../src/boards/submarine.c:198
msgid "Submarine"
msgstr "غواصة"
@@ -4914,9 +4941,10 @@ msgid "TEXT"
msgstr "نص"
#: ../src/gcompris/about.c:57
+#, fuzzy
msgid ""
"Author: Bruno Coudoin\n"
-"Contribution: Pascal Georges, Jose Jorge\n"
+"Contribution: Pascal Georges, Jose Jorge, Yves Combe\n"
"Graphics: Renaud Blanchard, Franck Doucet\n"
"Intro Music: Djilali Sebihi\n"
"Background Music: Rico Da Halvarez\n"
@@ -4936,11 +4964,11 @@ msgstr "نبيل بن خليÙØ©"
msgid "About GCompris"
msgstr "بشأن GCompris"
-#: ../src/gcompris/about.c:117 ../src/gcompris/about.c:126
+#: ../src/gcompris/about.c:117
msgid "Translators:"
msgstr "المترجمون:"
-#: ../src/gcompris/about.c:249
+#: ../src/gcompris/about.c:193
msgid ""
"GCompris Home Page\n"
"http://gcompris.net"
@@ -4948,16 +4976,16 @@ msgstr ""
"الصÙحة الرئيسية Ù„GCompris \n"
"http://gcompris.net"
-#: ../src/gcompris/about.c:271
+#: ../src/gcompris/about.c:215
msgid ""
"This software is a GNU Package and is released under the GNU General Public "
"License"
msgstr "هذا البرنامج جزء من إصدارات GNU Ùˆ قد تم إصداره ÙˆÙقا لرخصة GNU العلنية"
-#: ../src/gcompris/about.c:334 ../src/gcompris/about.c:344
+#: ../src/gcompris/about.c:278 ../src/gcompris/about.c:288
#: ../src/gcompris/config.c:466 ../src/gcompris/config.c:476
-#: ../src/gcompris/dialog.c:97 ../src/gcompris/help.c:376
-#: ../src/gcompris/help.c:386 ../src/gcompris/images_selector.c:317
+#: ../src/gcompris/dialog.c:97 ../src/gcompris/help.c:380
+#: ../src/gcompris/help.c:390 ../src/gcompris/images_selector.c:317
msgid "OK"
msgstr "مواÙÙ‚"
@@ -4987,6 +5015,30 @@ msgid ""
" to use in the board"
msgstr ""
+#: ../src/gcompris/board_config.c:763
+msgid "Global GCompris mode"
+msgstr ""
+
+#: ../src/gcompris/board_config.c:764
+#, fuzzy
+msgid "Normal"
+msgstr "مرجاني"
+
+#: ../src/gcompris/board_config.c:765
+msgid "2 clicks"
+msgstr ""
+
+#: ../src/gcompris/board_config.c:766
+msgid "both modes"
+msgstr ""
+
+#: ../src/gcompris/board_config.c:794
+#, fuzzy
+msgid ""
+"Select the drag and drop mode\n"
+" to use in the board"
+msgstr "إ_ختر لغةً لتستعملها لجلستك:"
+
#: ../src/gcompris/config.c:59
msgid "Your system default"
msgstr "الإÙتراضي ÙÙŠ نظامك"
@@ -5247,8 +5299,8 @@ msgstr "التأثير"
msgid "Couldn't open skin dir: %s"
msgstr "تعذر Ùتح مجلد الأشكال : %s"
-#: ../src/gcompris/config.c:410 ../src/gcompris/config.c:865
-#: ../src/gcompris/config.c:879
+#: ../src/gcompris/config.c:410 ../src/gcompris/config.c:861
+#: ../src/gcompris/config.c:875
#, c-format
msgid "Skin : %s"
msgstr "الشكل : %s"
@@ -5273,142 +5325,148 @@ msgstr "التحميل"
msgid "SAVE"
msgstr "الحÙظ"
-#: ../src/gcompris/gameutil.c:79
+#: ../src/gcompris/gameutil.c:80
msgid "Couldn't find or load the file"
msgstr "لم أستطع العثور أو تحميل المل٠"
-#: ../src/gcompris/gameutil.c:81
+#: ../src/gcompris/gameutil.c:82
msgid "This activity is incomplete."
msgstr "هذا النشاط غير مكتمل."
-#: ../src/gcompris/gameutil.c:82
+#: ../src/gcompris/gameutil.c:83
msgid ""
"Exit it and report\n"
"the problem to the authors."
msgstr ""
-#: ../src/gcompris/gcompris.c:123
+#: ../src/gcompris/gcompris.c:122
msgid "run gcompris in fullscreen mode."
msgstr "شغل gcompris مستعملا جميع الشاشة"
-#: ../src/gcompris/gcompris.c:126
+#: ../src/gcompris/gcompris.c:125
msgid "run gcompris in window mode."
msgstr "شغل gcompris ÙÙŠ ناÙذة"
-#: ../src/gcompris/gcompris.c:129
+#: ../src/gcompris/gcompris.c:128
msgid "run gcompris with sound enabled."
msgstr "شغل gcompris مع تخويل الصوت"
-#: ../src/gcompris/gcompris.c:132
+#: ../src/gcompris/gcompris.c:131
msgid "run gcompris without sound."
msgstr "شغل gcompris بدون صوت"
-#: ../src/gcompris/gcompris.c:135
+#: ../src/gcompris/gcompris.c:134
msgid "run gcompris with the default gnome cursor."
msgstr "شغل gcompris باستعمال المؤشر الإÙتراضي Ù„gnome"
-#: ../src/gcompris/gcompris.c:138
+#: ../src/gcompris/gcompris.c:137
msgid "display only activities with this difficulty level."
msgstr "عرض الأنشطة التي تتناسب Ùقط مع هذا المستوى"
-#: ../src/gcompris/gcompris.c:141
+#: ../src/gcompris/gcompris.c:140
msgid "display debug informations on the console."
msgstr ""
-#: ../src/gcompris/gcompris.c:144
+#: ../src/gcompris/gcompris.c:143
msgid "Print the version of "
msgstr "اطبع رقم نسخة "
-#: ../src/gcompris/gcompris.c:147
+#: ../src/gcompris/gcompris.c:146
msgid "Use the antialiased canvas (slower)."
msgstr "استعمال المساحات المنعمة (أبطأ) "
-#: ../src/gcompris/gcompris.c:150
+#: ../src/gcompris/gcompris.c:149
msgid "Disable XF86VidMode (No screen resolution change)."
msgstr ""
-#: ../src/gcompris/gcompris.c:153
+#: ../src/gcompris/gcompris.c:152
msgid ""
"Run gcompris with local menu (e.g -l /reading will let you play only "
"activities in the reading directory, -l /strategy/connect4 only the connect4 "
"activity)"
msgstr ""
-#: ../src/gcompris/gcompris.c:156
+#: ../src/gcompris/gcompris.c:155
msgid "Run GCompris with local activity directory added to menu"
msgstr ""
-#: ../src/gcompris/gcompris.c:159
+#: ../src/gcompris/gcompris.c:158
msgid "Run GCompris in administration and user-management mode"
msgstr ""
-#: ../src/gcompris/gcompris.c:162
+#: ../src/gcompris/gcompris.c:161
msgid "Use alternate database for profiles"
msgstr ""
-#: ../src/gcompris/gcompris.c:165
+#: ../src/gcompris/gcompris.c:164
msgid "Use alternate database for logs"
msgstr ""
-#: ../src/gcompris/gcompris.c:168
+#: ../src/gcompris/gcompris.c:167
msgid "Create the alternate database for profiles"
msgstr ""
-#: ../src/gcompris/gcompris.c:171
+#: ../src/gcompris/gcompris.c:170
msgid "Re-read XML Menus and store them in the database"
msgstr ""
-#: ../src/gcompris/gcompris.c:174
+#: ../src/gcompris/gcompris.c:173
msgid "Set the profile to use. Use 'gcompris -a' to create profiles"
msgstr ""
-#: ../src/gcompris/gcompris.c:177
+#: ../src/gcompris/gcompris.c:176
msgid "List all available profiles. Use 'gcompris -a' to create profiles"
msgstr ""
-#: ../src/gcompris/gcompris.c:180
+#: ../src/gcompris/gcompris.c:179
msgid ""
"Shared directory location, for profiles and board-configuration data: "
"[$HOME/.gcompris/shared]"
msgstr ""
-#: ../src/gcompris/gcompris.c:183
+#: ../src/gcompris/gcompris.c:182
msgid "The location of user directories: [$HOME/.gcompris/users]"
msgstr ""
-#: ../src/gcompris/gcompris.c:186
+#: ../src/gcompris/gcompris.c:185
msgid "Run the experimental activities"
msgstr "شغل الأنشطة التجريبية"
-#: ../src/gcompris/gcompris.c:189
+#: ../src/gcompris/gcompris.c:188
msgid "Disable the quit button"
msgstr "تعطيل زر المغادرة"
-#: ../src/gcompris/gcompris.c:192
+#: ../src/gcompris/gcompris.c:191
msgid "Disable the config button"
msgstr "تعطيل زر الإعدادات"
-#: ../src/gcompris/gcompris.c:195
+#: ../src/gcompris/gcompris.c:194
msgid "Display the resources on stdout based on the selected activities"
msgstr ""
-#: ../src/gcompris/gcompris.c:198
+#: ../src/gcompris/gcompris.c:197
msgid ""
"GCompris will get images, sounds and activity data from this server if not "
"found locally."
msgstr ""
-#: ../src/gcompris/gcompris.c:201
+#: ../src/gcompris/gcompris.c:200
msgid ""
"Only when --server is provided, disable check for local resource first. Data "
"are always taken from the web server."
msgstr ""
-#: ../src/gcompris/gcompris.c:205
-msgid "In server mode, specify the cache directory used to avoid useless downloads."
+#: ../src/gcompris/gcompris.c:204
+msgid ""
+"In server mode, specify the cache directory used to avoid useless downloads."
+msgstr ""
+
+#: ../src/gcompris/gcompris.c:206
+msgid ""
+"Global drag and drop mode: normal, 2clicks, both. Default mode is normal."
msgstr ""
-#: ../src/gcompris/gcompris.c:838
+#: ../src/gcompris/gcompris.c:831
#, c-format
msgid ""
"GCompris is free software released under the GPL License. In order to "
@@ -5422,7 +5480,7 @@ msgid ""
"<http://www.fsf.org/philosophy>"
msgstr ""
-#: ../src/gcompris/gcompris.c:1433
+#: ../src/gcompris/gcompris.c:1438
#, c-format
msgid ""
"GCompris\n"
@@ -5436,42 +5494,42 @@ msgstr ""
"لمزيد من المعلومات زر الصÙحة http://gcompris.net \n"
#. check the list of possible values for -l, then exit
-#: ../src/gcompris/gcompris.c:1522
+#: ../src/gcompris/gcompris.c:1527
#, c-format
msgid "Use -l to access an activity directly.\n"
msgstr ""
-#: ../src/gcompris/gcompris.c:1523
+#: ../src/gcompris/gcompris.c:1528
#, c-format
msgid "The list of available activities is :\n"
msgstr "قائمة الأنشطة المتاحة: \n"
-#: ../src/gcompris/gcompris.c:1701
+#: ../src/gcompris/gcompris.c:1720
#, c-format
msgid "The list of available profiles is:\n"
msgstr ""
-#: ../src/gcompris/gcompris_db.c:250
+#: ../src/gcompris/gcompris_db.c:255
msgid "Unaffected"
msgstr "غير مبوب"
-#: ../src/gcompris/gcompris_db.c:251
+#: ../src/gcompris/gcompris_db.c:256
msgid "Users without a class"
msgstr "مستعمل بدون قسم"
-#: ../src/gcompris/help.c:194
+#: ../src/gcompris/help.c:195
msgid "Prerequisite"
msgstr "المتطلبات"
-#: ../src/gcompris/help.c:222
+#: ../src/gcompris/help.c:223
msgid "Goal"
msgstr "الهدÙ"
-#: ../src/gcompris/help.c:250
+#: ../src/gcompris/help.c:251
msgid "Manual"
msgstr "دليل المستخدم"
-#: ../src/gcompris/help.c:278
+#: ../src/gcompris/help.c:279
msgid "Credit"
msgstr "الديباجة"
@@ -5484,3 +5542,169 @@ msgstr "انتهى الوقت"
msgid "Remaining Time = %d"
msgstr "الوقت المتبقي = %d"
+#, fuzzy
+#~ msgid "move"
+#~ msgstr "زيتوني"
+
+#, fuzzy
+#~ msgid "puzzle"
+#~ msgstr "بنÙسجي"
+
+#, fuzzy
+#~ msgid "slide"
+#~ msgstr "زيزÙوني"
+
+#, fuzzy
+#~ msgid "taquin"
+#~ msgstr "زبرجدي"
+
+#, fuzzy
+#~ msgid "Couldn't open dir: %s"
+#~ msgstr "تعذر Ùتح مجلد الأشكال : %s"
+
+#~ msgid ""
+#~ "The data from this activity are saved under\n"
+#~ "/tmp/gcompris-board.xml"
+#~ msgstr ""
+#~ "معطيات هاته اللوحة محÙوظة ÙÙŠ \n"
+#~ "/tmp/gcompris-board.xml"
+
+#, fuzzy
+#~ msgid "Tamil"
+#~ msgstr "تايلاندي"
+
+#, fuzzy
+#~ msgid "This board is dedicated to recognize unusual colors."
+#~ msgstr "تعلم تمييز الألوان النادرة"
+
+#, fuzzy
+#~ msgid ""
+#~ "In a limited time, give the result to the multiplication of two numbers"
+#~ msgstr "أعط نتيجة عملية ضرب عددين ÙÙŠ وقت محدود"
+
+#~ msgid ""
+#~ "With displayed numbers and operations, find the right combination to get "
+#~ "the right result"
+#~ msgstr ""
+#~ "باستعمال الأعداد و العمليات المعروضة, جد التركيبة المناسبة للحصول على "
+#~ "النتيجة"
+
+#~ msgid ""
+#~ "Motor coordination: mouse mouvement and mouse click. The goal is just to "
+#~ "click with the left mouse button on the moving fish."
+#~ msgstr "الهد٠من اللعبة هو أن تنقر بزر الÙأرة الأيسر على السمكة المتحركة"
+
+#~ msgid ""
+#~ "This board is dedicated to train kids to recognize colors. Several "
+#~ "colored toons are displayed and a color is spoken. The kid must select "
+#~ "the proper toon."
+#~ msgstr ""
+#~ "هذه اللوحة مخصصة لتدريب الأطÙال على التعر٠على الألوان. سيتم عرض عدد من "
+#~ "الصور الملونة Ùˆ ذكر لون معين Ùˆ على الطÙÙ„ اختيار الصورة المناسبة"
+
+#, fuzzy
+#~ msgid "Drag and Drop the top piece only on an empty location"
+#~ msgstr "أمسك و اسحب القطع المقترحة إلى أمكنتها المناسبة"
+
+#~ msgid "Given hands pictures, find if it's a right or left one"
+#~ msgstr "ميز بين اليد اليمنى و اليد اليسرى"
+
+#~ msgid "Manage the paratrooper to let him safely land"
+#~ msgstr "تحكم ÙÙŠ المظلي حتى يهبط بسلام"
+
+#~ msgid "Paratrooper"
+#~ msgstr "المظلي"
+
+#, fuzzy
+#~ msgid "Railroad"
+#~ msgstr "سكة حديدية"
+
+#, fuzzy
+#~ msgid "Type the keyboard number 1 to 9 before the dice reaches the ground"
+#~ msgstr "أدخل الكلمات المتساقطة قبل أن تصل إلى الأرض"
+
+#~ msgid "find file %s !"
+#~ msgstr "جد المل٠%s !"
+
+#, fuzzy
+#~ msgid "Learning Chess"
+#~ msgstr "تعلم الشطرنج"
+
+#, fuzzy
+#~ msgid "Play chess against tux in a learning mode"
+#~ msgstr "العب الشطرنج ضد الحاسوب ÙÙŠ صيغة التعلم"
+
+#, fuzzy
+#~ msgid "Read a letter"
+#~ msgstr "انقر على حرÙ"
+
+#, fuzzy
+#~ msgid "Read Colors"
+#~ msgstr "ألوان"
+
+#, fuzzy
+#~ msgid "Click on the corresponding color"
+#~ msgstr "أنقر على اللون المناسب"
+
+#, fuzzy
+#~ msgid "Read a list of words and then tell if the given word is in it"
+#~ msgstr "اقرأ قائمة من الكلمات و حدد إذا كانت كلمة معينة من ضمنها"
+
+#~ msgid "Help"
+#~ msgstr "مساعدة"
+
+#~ msgid "Azerbaijani Turkic"
+#~ msgstr "تركي أذربيجاني"
+
+#~ msgid "Czech"
+#~ msgstr "تشيكي"
+
+#, fuzzy
+#~ msgid "Indian"
+#~ msgstr "إيطالي"
+
+#, fuzzy
+#~ msgid "Brazil Portuguese"
+#~ msgstr "برتغالي"
+
+#, fuzzy
+#~ msgid "Icon"
+#~ msgstr "قمحي"
+
+#, fuzzy
+#~ msgid "Name"
+#~ msgstr "كهرماني"
+
+#~ msgid "Type"
+#~ msgstr "النوع"
+
+#~ msgid "Difficulty"
+#~ msgstr "الصعوبة"
+
+#~ msgid "Directory"
+#~ msgstr "مجلد"
+
+#~ msgid "Released under GPL"
+#~ msgstr "إصدار ÙˆÙقا لرخصة GPL"
+
+#~ msgid "Now Playing Music"
+#~ msgstr "لعب الموسيقى "
+
+#, fuzzy
+#~ msgid "Artist"
+#~ msgstr "خمري"
+
+#, fuzzy
+#~ msgid "Couldn't open music dir: %s"
+#~ msgstr "تعذر Ùتح مجلد الأشكال : %s"
+
+#, fuzzy
+#~ msgid "Couldn't find pixmap file: %s"
+#~ msgstr "لم أستطع العثور أو تحميل المل٠"
+
+#, fuzzy
+#~ msgid "Move the mouse to machpuzzle the area and discover the background"
+#~ msgstr "حرك الÙأرة لمحو الشاشة Ùˆ اكتشا٠الخلÙية"
+
+#~ msgid "GCompris I Have Understood"
+#~ msgstr "GCompris لقد Ùهمت"
diff --git a/po/es.po b/po/es.po
index f3bd534..a2aa01a 100644
--- a/po/es.po
+++ b/po/es.po
@@ -1,3 +1,4 @@
+# translation of es.po to
# translation of gcompris.HEAD.es.po to
# Zohra Coudoin <zohra.coudoin@free.fr>, 2000.
# Pablo Gonzalo del Campo <pablodc@bigfoot.com>, 2003.
@@ -7,12 +8,12 @@
# This file is distributed under the same license as the gcompris package.
msgid ""
msgstr ""
-"Project-Id-Version: pan2\n"
+"Project-Id-Version: es\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-10-29 19:17+0100\n"
-"PO-Revision-Date: 2006-10-29 19:21+0100\n"
-"Last-Translator: Francisco Javier F. Serrador <serrador@cvs.gnome.org>\n"
-"Language-Team: Spanish <traductores@es.gnome.org>\n"
+"POT-Creation-Date: 2006-12-06 23:07+0100\n"
+"PO-Revision-Date: 2006-12-06 23:15+0100\n"
+"Last-Translator: \n"
+"Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -798,11 +799,11 @@ msgstr "Mete la bola en la meta"
#: ../boards/billard.xml.in.h:3 ../boards/chess_computer.xml.in.h:2
#: ../boards/chess_movelearn.xml.in.h:3 ../boards/chess_partyend.xml.in.h:2
-#: ../boards/clickgame.xml.in.h:16 ../boards/connect4.xml.in.h:6
-#: ../boards/erase.xml.in.h:3 ../boards/erase_clic.xml.in.h:6
-#: ../boards/erase_double_clic.xml.in.h:6 ../boards/fifteen.xml.in.h:2
-#: ../boards/hanoi.xml.in.h:3 ../boards/memory.xml.in.h:4
-#: ../boards/tangram.xml.in.h:8
+#: ../boards/clickgame.xml.in.h:5 ../boards/connect4.xml.in.h:6
+#: ../boards/connect4-2players.xml.in.h:5 ../boards/erase.xml.in.h:3
+#: ../boards/erase_clic.xml.in.h:6 ../boards/erase_double_clic.xml.in.h:6
+#: ../boards/fifteen.xml.in.h:2 ../boards/hanoi.xml.in.h:3
+#: ../boards/memory.xml.in.h:4 ../boards/tangram.xml.in.h:8
msgid "Mouse-manipulation"
msgstr "Manipulación del ratón"
@@ -1090,40 +1091,11 @@ msgstr "Pulsa sobre mí"
#: ../boards/clickgame.xml.in.h:2
msgid ""
-"Fish are taken from the Unix utility xfishtank.\n"
-"Images are taken from the National Undersea Research Program (NURP) "
-"Collection\n"
-"at &lt;http://www.photolib.noaa.gov&gt;\n"
-"All image credits belong to the OAR/National Undersea Research Program "
-"(NURP),\n"
-"except for the first image, which is property of the University of North "
-"Carolina at Wilmington.\n"
-"The images used in each level are:\n"
-"Location: Tropical Atlantic Ocean, Florida Keys (image nur00523) "
-"Photographer: D. Kesling\n"
-"Location: Florida Keys (image nur03006)\n"
-"Location: Unknown (image nur03505)\n"
-"Location: Unknown (image nur03010)\n"
-"Location: Unknown (image nur03011)\n"
-"Location: Unknown (image nur03013)"
-msgstr ""
-"Los peces provienen del utilitario de Unix xfishtank.\n"
-"Las imágenes provienen del National Undersea Research Program (NURP) "
-"Collection\n"
-"cuya colección se encuentra en &lt;http://www.photolib.noaa.gov&gt;\n"
-"Todos los créditos de las imágenes pertenecen al OAR/ National Undersea "
-"Research Program (NURP). Excepto la primera imagen que pertenece a la "
-"Universidad de Carolina del Norte en Wilmington.\n"
-"Las imágenes usadas en cada nivel son:\n"
-"Localización: Océano tropical atlántico, Florida Keys (imagen nur00523) "
-"Fotógrafo: D. Kesling\n"
-"Localización: Florida Keys (image nur03006)\n"
-"Localización: Desconocida (imagen nur03505)\n"
-"Localización: Desconocida (imagen nur03010)\n"
-"Localización: Desconocida (imagen nur03011)\n"
-"Localización: Desconocida (imagen nur03013)"
-
-#: ../boards/clickgame.xml.in.h:14
+"Fish are taken from the Unix utility xfishtank. All image credits belong to "
+"Guillaume Rousse."
+msgstr "EL pez se toma de la utilidad de Unix xfishtank. Todos los créditos de las imágenes pertenecen a Guillaume Rousse."
+
+#: ../boards/clickgame.xml.in.h:3
msgid ""
"Left-Click with the mouse on all the swimming fish before they leave the "
"fishtank"
@@ -1131,11 +1103,11 @@ msgstr ""
"Pulsa con el botón izquierdo del ratón sobre todos los peces antes de que se "
"escapen del acuario"
-#: ../boards/clickgame.xml.in.h:15
+#: ../boards/clickgame.xml.in.h:4
msgid "Motor coordination: moving and clicking the mouse."
msgstr "Coordinación motriz: movimiento del ratón y pulsación."
-#: ../boards/clickgame.xml.in.h:17
+#: ../boards/clickgame.xml.in.h:6
msgid "Use the left mouse button to click on the moving fish."
msgstr "Use el botón izquierdo del ratón para pulsar sobre el pez en movimiento."
@@ -1209,19 +1181,24 @@ msgstr "Descubre la computadora"
msgid "Play with computer peripherals."
msgstr "Jugar con periféricos del computador."
-#: ../boards/connect4.xml.in.h:1
+#: ../boards/connect4.xml.in.h:1 ../boards/connect4-2players.xml.in.h:1
msgid "Arrange four coins in a row"
msgstr "Ordena las cuatro monedas en una fila"
-#: ../boards/connect4.xml.in.h:2
-msgid "Click anywhere in the line where you want to drop a piece"
-msgstr "Pulsa en cualquier sitio de la línea sobre la que quieres depositar una pieza"
+#: ../boards/connect4.xml.in.h:2 ../boards/connect4-2players.xml.in.h:2
+msgid ""
+"Click anywhere in the line where you want to drop a piece. Alternatively, "
+"you can use the arrow keys to move and the down, or space key to drop a "
+"piece."
+msgstr ""
+"Pulsa en cualquier lugar en la línea donde quiera dejar una pieza. Alternativamente, puede usar "
+"las teclas de flechas para mover y la tecla de flecha abajo o la tecla de espacio para dejar una pieza."
#: ../boards/connect4.xml.in.h:3
msgid "Connect 4"
msgstr "Conecta4"
-#: ../boards/connect4.xml.in.h:4
+#: ../boards/connect4.xml.in.h:4 ../boards/connect4-2players.xml.in.h:4
msgid ""
"Create a line of 4 pieces either horizontally (lying down) or vertically "
"(standing up)"
@@ -1237,6 +1214,22 @@ msgstr ""
"proyecto 4stattack de Jeroen Vloothuis. El proyecto original se puede "
"encontrar en &lt;http://forcedattack.sourceforge.net&gt;"
+#: ../boards/connect4-2players.xml.in.h:3
+msgid "Connect 4 (2 Players)"
+msgstr "Conecta 4 (2 jugadores)"
+
+#: ../boards/connect4-2players.xml.in.h:6
+msgid ""
+"The original code was written in 2005 by Laurent Lacheny. In 2006, Miguel de "
+"Izarra made the two players game. Images and Artificial Intelligence taken "
+"from project 4stattack by Jeroen Vloothuis. The original project can be "
+"found on &lt;http://forcedattack.sourceforge.net&gt;"
+msgstr ""
+"El código original fue escrito en 2005 por Laurent Lacheny. En 2006, Miguel de Izarra hizo el "
+"juego de dos jugadores. Las imágenes e inteligencia artificial se han cogido del "
+"proyecto 4stattack de Jeroen Vloothuis. El proyecto original se puede "
+"encontrar en &lt;http://forcedattack.sourceforge.net&gt;"
+
#: ../boards/crane.xml.in.h:1
msgid "Build the same model"
msgstr "Contruye el mismo modelo"
@@ -1419,12 +1412,12 @@ msgstr ""
"Estas personas han dado a GCompris la autorización para incluir sus "
"fotografías. Muchas gracias, a ambos."
-#: ../boards/erase.xml.in.h:4 ../src/boards/erase.c:113
+#: ../boards/erase.xml.in.h:4 ../src/boards/erase.c:118
#: ../src/boards/machpuzzle.c:88
msgid "Move the mouse"
msgstr "Mueve el ratón"
-#: ../boards/erase.xml.in.h:5 ../src/boards/erase.c:114
+#: ../boards/erase.xml.in.h:5 ../src/boards/erase.c:119
msgid "Move the mouse to erase the area and discover the background"
msgstr "Mueve el ratón para aclarar la zona y descubre el dibujo escondido"
@@ -2006,6 +1999,7 @@ msgid "Somalia"
msgstr "Somalia"
#: ../boards/geography/board4_0.xml.in.h:30
+#: ../boards/geography/board4_2.xml.in.h:33
msgid "Sudan"
msgstr "Sudán"
@@ -2082,7 +2076,7 @@ msgid "Republic of Congo"
msgstr "República del Congo"
#: ../boards/geography/board4_1.xml.in.h:15
-#: ../boards/geography/board4_2.xml.in.h:33
+#: ../boards/geography/board4_2.xml.in.h:32
msgid "South Africa"
msgstr "Sudáfrica"
@@ -2109,10 +2103,6 @@ msgstr "Zambia"
msgid "Zimbabwe"
msgstr "Zimbabwe"
-#: ../boards/geography/board4_2.xml.in.h:32
-msgid "Soudan"
-msgstr "Sudán"
-
#: ../boards/geography/board5_0.xml.in.h:1
msgid "Regions of France"
msgstr "Regiones de Francia"
@@ -2386,8 +2376,8 @@ msgid ""
msgstr ""
"El objetivo del juego es mover la pila completa al otro palo, obedeciendo "
"las siguientes reglas:\n"
-"* sólo se puede mover un disco cada vez "
-"* no se puede colocar un disco sobre otro más pequeño"
+"* sólo se puede mover un disco cada vez * no se puede colocar un disco sobre "
+"otro más pequeño"
#: ../boards/hanoi_real.xml.in.h:8
msgid ""
@@ -4355,6 +4345,14 @@ msgstr "Teclea la palabra completa mientras cae, antes de que llegue al suelo"
msgid "Type the falling words before they reach the ground"
msgstr "Teclea las palabras que caen antes de que lleguen al suelo"
+#: ../boards/wordprocessor.xml.in.h:1
+msgid "A simple word processor to enter and save any text"
+msgstr "Un procesador de textos simple para introducir y guardar texto"
+
+#: ../boards/wordprocessor.xml.in.h:2
+msgid "Your word processor"
+msgstr "Tu procesador de textos"
+
#: ../gcompris-edit.desktop.in.h:1
msgid "Administration for gcompris"
msgstr "Administración de gcompris"
@@ -4371,23 +4369,23 @@ msgstr "Suite educativa GCompris"
msgid "Multi-activity educational game"
msgstr "Juego educativo de actividades variadas"
-#: ../src/boards/awele.c:352 ../src/boards/awele.c:362
+#: ../src/boards/awele.c:350 ../src/boards/awele.c:360
msgid "NORTH"
msgstr "NORTE"
-#: ../src/boards/awele.c:374 ../src/boards/awele.c:384
+#: ../src/boards/awele.c:372 ../src/boards/awele.c:382
msgid "SOUTH"
msgstr "SUR"
-#: ../src/boards/awele.c:553
+#: ../src/boards/awele.c:551
msgid "Choose a house"
msgstr "Escoje una casa"
-#: ../src/boards/awele.c:681
+#: ../src/boards/awele.c:679
msgid "Your turn to play ..."
msgstr "Tu turno para jugar..."
-#: ../src/boards/awele.c:750
+#: ../src/boards/awele.c:748
msgid "Not allowed! Try again !"
msgstr "¡No permitido! Prueba otra vez."
@@ -4443,8 +4441,8 @@ msgstr "Jaque mate de negras"
msgid "White mates"
msgstr "Jaque de blancas"
-#: ../src/boards/chess.c:1092 ../src/gcompris/bonus.c:342
-#: ../src/gcompris/bonus.c:351
+#: ../src/boards/chess.c:1092 ../src/gcompris/bonus.c:359
+#: ../src/gcompris/bonus.c:368
msgid "Drawn game"
msgstr "Tablas"
@@ -4452,7 +4450,7 @@ msgstr "Tablas"
msgid "Error: The external program gnuchess died unexpectingly"
msgstr "Error: El programa externo gnuchess finalizó inesperadamente"
-#: ../src/boards/click_on_letter.c:259 ../src/boards/memory.c:827
+#: ../src/boards/click_on_letter.c:259 ../src/boards/memory.c:832
msgid ""
"Error: this activity cannot be played with the\n"
"sound effects disabled.\n"
@@ -4468,7 +4466,7 @@ msgstr ""
#. require by all utf8-functions
#. TRANSLATORS: Put here the alphabet lowercase in your language
#: ../src/boards/click_on_letter.c:264 ../src/boards/gletters.c:231
-#: ../src/boards/memory.c:848
+#: ../src/boards/memory.c:853
msgid "abcdefghijklmnopqrstuvwxyz"
msgstr "abcdefghijklmnñopqrstuvwxyz"
@@ -4493,12 +4491,12 @@ msgstr ""
"inglés, lo siento!"
#. toggle box
-#: ../src/boards/click_on_letter.c:646 ../src/boards/gletters.c:898
+#: ../src/boards/click_on_letter.c:646 ../src/boards/gletters.c:899
#: ../src/boards/python/login.py:540
msgid "Uppercase only text"
msgstr "Texto sólo en mayúsculas"
-#: ../src/boards/clockgame.c:544 ../src/boards/clockgame.c:554
+#: ../src/boards/clockgame.c:552 ../src/boards/clockgame.c:562
msgid "Set the watch to:"
msgstr "Pon la hora en:"
@@ -4543,12 +4541,12 @@ msgid "Click on the white duck"
msgstr "Pulsa en el pato blanco"
#. TRANSLATORS: Put here the numbers in your language
-#: ../src/boards/gletters.c:227 ../src/boards/memory.c:844
+#: ../src/boards/gletters.c:227 ../src/boards/memory.c:849
msgid "0123456789"
msgstr "0123456789"
#. TRANSLATORS: Put here the alphabet uppercase in your language
-#: ../src/boards/gletters.c:237 ../src/boards/memory.c:854
+#: ../src/boards/gletters.c:237 ../src/boards/memory.c:859
msgid "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
msgstr "ABCDEFGHIJKLMNÑOPQRSTUVWXYZ"
@@ -4598,16 +4596,16 @@ msgstr ""
msgid "Look at your position, then switch back to 3D mode to continue your moves"
msgstr "Mira a tu posición, después vuelve a modo 3D para continuar tus movimientos."
-#: ../src/boards/memory.c:287
+#: ../src/boards/memory.c:286
msgid "Memory"
msgstr "Memoria"
-#: ../src/boards/memory.c:288
+#: ../src/boards/memory.c:287
msgid "Find the matching pair"
msgstr "Encuentra el par que corresponde"
#. TRANSLATORS: Put here the mathematical operators "+-�" for your language.
-#: ../src/boards/memory.c:859
+#: ../src/boards/memory.c:864
msgid "+-×÷"
msgstr "+-×÷"
@@ -4630,6 +4628,10 @@ msgstr "$ %.2f"
msgid "$ %.0f"
msgstr "$ %.0f"
+#: ../src/boards/paratrooper.c:437
+msgid "Control fall speed with up and down arrow keys."
+msgstr "Controla la velocidad de caída con las teclas de flechas arriba y abajo."
+
#: ../src/boards/planegame.c:75
msgid "Move the plane to catch the clouds in the correct order"
msgstr "Mueve el avión para capturar las nubes en el orden correcto"
@@ -4716,7 +4718,7 @@ msgstr ""
#: ../src/boards/python/admin/board_list.py:631
#: ../src/boards/python/admin/board_list.py:649
#: ../src/boards/python/admin/wordlist.py:50 ../src/boards/python/login.py:535
-#: ../src/boards/python/pythontest.py:409 ../src/boards/python/tuxpaint.py:183
+#: ../src/boards/python/pythontest.py:409 ../src/boards/python/tuxpaint.py:206
#, python-format
msgid ""
"<b>%s</b> configuration\n"
@@ -4909,7 +4911,8 @@ msgid "There is already a profile with this name"
msgstr "Ya existe un perfil con ese nombre"
#: ../src/boards/python/admin/profile_list.py:121
-#: ../src/gcompris/board_config.c:668 ../src/gcompris/board_config.c:832
+#: ../src/boards/wordprocessor.c:53 ../src/gcompris/board_config.c:668
+#: ../src/gcompris/board_config.c:926
msgid "Default"
msgstr "Predeterminado"
@@ -4986,15 +4989,15 @@ msgstr ""
"Hay uno o más usuarios que no son únicos\n"
"Es necesario que cambiarlos: %s"
-#: ../src/boards/python/anim.py:2208
+#: ../src/boards/python/anim.py:2209
msgid "SVG is disabled. Install python xml module to enable it"
msgstr "Se ha deshabilitado SVG. Instala el módulo python xml para habilitarlo"
-#: ../src/boards/python/anim.py:2364
+#: ../src/boards/python/anim.py:2365
msgid "Warning: the following images cannot be accessed on your system.\n"
msgstr "Atención: las siguientes imágenes no son accesibles en tu sistema.\n"
-#: ../src/boards/python/anim.py:2366
+#: ../src/boards/python/anim.py:2367
msgid "The corresponding items have been skipped."
msgstr "Se han saltado los elementos correspondientes."
@@ -5040,66 +5043,67 @@ msgstr "1 no es un número primo."
msgid "Primes less than %d"
msgstr "Primos menores que %d"
-#: ../src/boards/python/gnumch.py:150
+#. Translators: You can swap %(x)y elements in the string.
+#: ../src/boards/python/gnumch.py:151
#, python-format
msgid ""
-"Multiples of %d include %s,\n"
-"but %d is not a multiple of %d."
+"Multiples of %(d1)d include %(s)s,\n"
+"but %(d2)d is not a multiple of %(d3)d."
msgstr ""
-"Los múltiplos de %d incluyen a %s,\n"
-"pero %d no es un múltiplo de %d."
+"Los múltiplos de %(d1)d incluyen a %(s)s,\n"
+"pero %(d2)d no es un múltiplo de %(d3)d."
-#: ../src/boards/python/gnumch.py:159
+#: ../src/boards/python/gnumch.py:162
#, python-format
msgid "Factors of %d"
msgstr "Factores de %d"
-#: ../src/boards/python/gnumch.py:192
+#: ../src/boards/python/gnumch.py:195
#, python-format
msgid "%s are the factors of %d."
msgstr "%s son los factores de %d."
-#: ../src/boards/python/gnumch.py:204
+#: ../src/boards/python/gnumch.py:207
#, python-format
msgid "Multiples of %d"
msgstr "Múltiplos de %d"
-#: ../src/boards/python/gnumch.py:238
+#: ../src/boards/python/gnumch.py:241
#, python-format
msgid "%s = %d"
msgstr "%s = %d"
-#: ../src/boards/python/gnumch.py:249
+#: ../src/boards/python/gnumch.py:252
#, python-format
msgid "%d + %d"
msgstr "%d + %d"
-#: ../src/boards/python/gnumch.py:254
+#: ../src/boards/python/gnumch.py:257
#, python-format
msgid "%d − %d"
msgstr "%d - %d"
-#: ../src/boards/python/gnumch.py:259
+#: ../src/boards/python/gnumch.py:262
#, python-format
msgid "%d × %d"
msgstr "%d x %d"
-#: ../src/boards/python/gnumch.py:263
+#: ../src/boards/python/gnumch.py:266
#, python-format
msgid "%d ÷ %d"
msgstr "%d ÷ %d"
-#: ../src/boards/python/gnumch.py:271
+#: ../src/boards/python/gnumch.py:274
#, python-format
msgid "Equal to %d"
msgstr "Igual a %d"
-#: ../src/boards/python/gnumch.py:292
+#: ../src/boards/python/gnumch.py:295
#, python-format
msgid "Not equal to %d"
msgstr "No igual que %d"
-#: ../src/boards/python/gnumch.py:434
+#: ../src/boards/python/gnumch.py:437
msgid ""
"You were eaten by a Troggle.\n"
"Press <Return> to continue."
@@ -5107,11 +5111,11 @@ msgstr ""
"Te ha comido un troggle.\n"
"Pulsa <Intro> para continuar."
-#: ../src/boards/python/gnumch.py:483
+#: ../src/boards/python/gnumch.py:486
msgid "You ate a wrong number.\n"
msgstr "Te has comido un número equivocado.\n"
-#: ../src/boards/python/gnumch.py:484
+#: ../src/boards/python/gnumch.py:487
msgid ""
"\n"
"Press <Return> to continue."
@@ -5119,7 +5123,7 @@ msgstr ""
"\n"
"Pulsa <Intro> para continuar."
-#: ../src/boards/python/gnumch.py:777
+#: ../src/boards/python/gnumch.py:780
msgid ""
"T\n"
"R\n"
@@ -5180,7 +5184,7 @@ msgstr "Introduce tu nombre de usuario para identificarte"
msgid "Rebuild the same mosaic on the right area"
msgstr "Reconstruye el mismo mosaico en el área de la derecha"
-#: ../src/boards/python/melody.py:115
+#: ../src/boards/python/melody.py:118
msgid ""
"Error: this activity cannot be played with the\n"
"sound effects disabled.\n"
@@ -5327,7 +5331,7 @@ msgstr "Comando desconocido en la línea"
msgid "Distance:"
msgstr "Distancia:"
-#: ../src/boards/python/tuxpaint.py:119
+#: ../src/boards/python/tuxpaint.py:144
msgid ""
"Cannot find Tuxpaint.\n"
"Install it to use this activity !"
@@ -5335,27 +5339,27 @@ msgstr ""
"No puedo encontrar Tuxpaint. \n"
"¡Instálalo para usar esta actividad!"
-#: ../src/boards/python/tuxpaint.py:132
+#: ../src/boards/python/tuxpaint.py:157
msgid "Waiting for Tuxpaint to finish"
msgstr "Esperando a que finalice Tuxpaint"
-#: ../src/boards/python/tuxpaint.py:187
+#: ../src/boards/python/tuxpaint.py:210
msgid "Inherit fullscreen setting from GCompris"
msgstr "Hereda la configuración de pantalla completa de GCompris"
-#: ../src/boards/python/tuxpaint.py:191
+#: ../src/boards/python/tuxpaint.py:214
msgid "Inherit size setting from GCompris (800x600, 640x480)"
msgstr "Hereda la configuración de tamaño de GCompris (800x600, 640x480)"
-#: ../src/boards/python/tuxpaint.py:195
+#: ../src/boards/python/tuxpaint.py:218
msgid "Disable shape rotation"
msgstr "Desactivar rotación de formas"
-#: ../src/boards/python/tuxpaint.py:199
+#: ../src/boards/python/tuxpaint.py:222
msgid "Show Uppercase text only"
msgstr "Mostrar sólo el texto en Mayúsculas"
-#: ../src/boards/python/tuxpaint.py:203
+#: ../src/boards/python/tuxpaint.py:226
msgid "Disable stamps"
msgstr "Desactivar sellos"
@@ -5367,7 +5371,7 @@ msgstr "Juego de memoria"
msgid "Build a train according to the model"
msgstr "Construye un tren de acuerdo al modelo"
-#: ../src/boards/reading.c:225 ../src/boards/wordsgame.c:205
+#: ../src/boards/reading.c:229 ../src/boards/wordsgame.c:205
msgid ""
"Error: We can't find\n"
"a list of words to play this game.\n"
@@ -5375,61 +5379,40 @@ msgstr ""
"Error: No se puede encontrar\n"
"una lista de palabras para jugar a este juego.\n"
-#: ../src/boards/reading.c:379
+#: ../src/boards/reading.c:381
msgid "Please, check if the word"
msgstr "Por favor, comprueba si la palabra"
-#: ../src/boards/reading.c:399
+#: ../src/boards/reading.c:401
msgid "is being displayed"
msgstr "está siendo mostrada"
-#: ../src/boards/reading.c:573
+#: ../src/boards/reading.c:575
msgid "I am Ready"
msgstr "Estoy listo/a"
-#: ../src/boards/reading.c:613
+#: ../src/boards/reading.c:615
msgid "Yes, I saw it"
msgstr "Sí, la he visto"
-#: ../src/boards/reading.c:643
+#: ../src/boards/reading.c:645
msgid "No, it was not there"
msgstr "No, no estaba allí"
#. Report what was wrong in the log
-#: ../src/boards/reading.c:681
+#: ../src/boards/reading.c:683
#, c-format
msgid "The word to find was '%s'"
msgstr "La palabra que se busca era «%s»"
-#: ../src/boards/reading.c:684
+#: ../src/boards/reading.c:686
msgid "But it was not displayed"
msgstr "Pero no se muestra"
-#: ../src/boards/reading.c:686
+#: ../src/boards/reading.c:688
msgid "And it was displayed"
msgstr "Y se muestra"
-#. Enter Edit Mode
-#: ../src/boards/shapegame.c:434
-msgid ""
-"You have entered Edit mode\n"
-"Move the puzzle items;\n"
-"type 's' to save, and\n"
-"'d' to display all the shapes"
-msgstr ""
-"Ha entrado en el modo edición\n"
-"Mueva los elementos del puzzle y \n"
-"pulse 's' para guardar\n"
-"y 'd' para mostrar todas las formas"
-
-#: ../src/boards/shapegame.c:442
-msgid ""
-"The data from this activity are saved under\n"
-"/tmp/gcompris-board.xml"
-msgstr ""
-"Los datos para esta actividad se guardan en\n"
-"/tmp/gcompris-board.xml"
-
#: ../src/boards/submarine.c:198
msgid "Submarine"
msgstr "Submarino"
@@ -5457,16 +5440,64 @@ msgstr ""
msgid "Distance to target = %d meters"
msgstr "Distancia al blanco = %d metros"
+#: ../src/boards/wordprocessor.c:64
+msgid "Letter"
+msgstr "Carta"
+
+#: ../src/boards/wordprocessor.c:75
+msgid "Small"
+msgstr "Pequeño"
+
+#: ../src/boards/wordprocessor.c:86
+msgid "Text"
+msgstr "Texto"
+
+#: ../src/boards/wordprocessor.c:97
+msgid "Big"
+msgstr "Grande"
+
+#: ../src/boards/wordprocessor.c:114
+msgid "Black"
+msgstr "Negro"
+
+#: ../src/boards/wordprocessor.c:115
+msgid "Red"
+msgstr "Rojo"
+
+#: ../src/boards/wordprocessor.c:116
+msgid "Blue"
+msgstr "Azul"
+
+#: ../src/boards/wordprocessor.c:117
+msgid "Pink"
+msgstr "Rosa"
+
+#: ../src/boards/wordprocessor.c:354
+msgid "TITLE"
+msgstr "TÃTULO"
+
+#: ../src/boards/wordprocessor.c:355
+msgid "TITLE 1"
+msgstr "TÃTULO 1"
+
+#: ../src/boards/wordprocessor.c:356
+msgid "TITLE 2"
+msgstr "TÃTULO 2"
+
+#: ../src/boards/wordprocessor.c:357
+msgid "TEXT"
+msgstr "TEXTO"
+
#: ../src/gcompris/about.c:57
msgid ""
"Author: Bruno Coudoin\n"
-"Contribution: Pascal Georges, Jose Jorge\n"
+"Contribution: Pascal Georges, Jose Jorge, Yves Combe\n"
"Graphics: Renaud Blanchard, Franck Doucet\n"
"Intro Music: Djilali Sebihi\n"
"Background Music: Rico Da Halvarez\n"
msgstr ""
"Autor: Bruno Coudoin\n"
-"Contribución: Pascal Georges, Jose Jorge\n"
+"Contribución: Pascal Georges, Jose Jorge, Yves Combe\n"
"Gráficos: Renaud Blanchard, Franck Doucet\n"
"Música de intro: Djilali Sebihi\n"
"Música de fondo: Rico Da Halvarez\n"
@@ -5482,11 +5513,11 @@ msgstr ""
msgid "About GCompris"
msgstr "Acerca de GCompris"
-#: ../src/gcompris/about.c:117 ../src/gcompris/about.c:126
+#: ../src/gcompris/about.c:117
msgid "Translators:"
msgstr "Traductores:"
-#: ../src/gcompris/about.c:249
+#: ../src/gcompris/about.c:193
msgid ""
"GCompris Home Page\n"
"http://gcompris.net"
@@ -5494,7 +5525,7 @@ msgstr ""
"Página de GCompris\n"
"http://gcompris.net"
-#: ../src/gcompris/about.c:271
+#: ../src/gcompris/about.c:215
msgid ""
"This software is a GNU Package and is released under the GNU General Public "
"License"
@@ -5502,10 +5533,10 @@ msgstr ""
"Este software es un paquete GNU y se distribuye bajo los términos de la "
"Licencia Pública General GNU "
-#: ../src/gcompris/about.c:334 ../src/gcompris/about.c:344
-#: ../src/gcompris/config.c:465 ../src/gcompris/config.c:475
-#: ../src/gcompris/dialog.c:97 ../src/gcompris/help.c:376
-#: ../src/gcompris/help.c:386 ../src/gcompris/images_selector.c:317
+#: ../src/gcompris/about.c:278 ../src/gcompris/about.c:288
+#: ../src/gcompris/config.c:467 ../src/gcompris/config.c:477
+#: ../src/gcompris/dialog.c:97 ../src/gcompris/help.c:380
+#: ../src/gcompris/help.c:390 ../src/gcompris/images_selector.c:317
msgid "OK"
msgstr "Aceptar"
@@ -5537,6 +5568,30 @@ msgstr ""
"Selecciona el idioma\n"
" para usar en el tablero"
+#: ../src/gcompris/board_config.c:763
+msgid "Global GCompris mode"
+msgstr "Modo global de GCompris"
+
+#: ../src/gcompris/board_config.c:764
+msgid "Normal"
+msgstr "Normal"
+
+#: ../src/gcompris/board_config.c:765
+msgid "2 clicks"
+msgstr "2 pulsaciones"
+
+#: ../src/gcompris/board_config.c:766
+msgid "both modes"
+msgstr "ambos modos"
+
+#: ../src/gcompris/board_config.c:794
+msgid ""
+"Select the drag and drop mode\n"
+" to use in the board"
+msgstr ""
+"Selecciona el modo de arrastrar y soltar\n"
+"para usar en el tablero"
+
#: ../src/gcompris/config.c:59
msgid "Your system default"
msgstr "Lo predeterminado en su sistema"
@@ -5610,163 +5665,171 @@ msgid "Hindi"
msgstr "Hindi"
#: ../src/gcompris/config.c:78
+msgid "Japanese"
+msgstr "Japonés"
+
+#: ../src/gcompris/config.c:79
msgid "Gujarati"
msgstr "Gujarati"
-#: ../src/gcompris/config.c:79
+#: ../src/gcompris/config.c:80
msgid "Punjabi"
msgstr "Punjabi"
-#: ../src/gcompris/config.c:80
+#: ../src/gcompris/config.c:81
msgid "Hungarian"
msgstr "Húngaro"
-#: ../src/gcompris/config.c:81
+#: ../src/gcompris/config.c:82
msgid "Croatian"
msgstr "Croata"
-#: ../src/gcompris/config.c:82
+#: ../src/gcompris/config.c:83
msgid "Italian"
msgstr "Italiano"
-#: ../src/gcompris/config.c:83
+#: ../src/gcompris/config.c:84
msgid "Georgian"
msgstr "Georgiano"
-#: ../src/gcompris/config.c:84
+#: ../src/gcompris/config.c:85
+msgid "Korean"
+msgstr "Coreano"
+
+#: ../src/gcompris/config.c:86
msgid "Lithuanian"
msgstr "Lituano"
-#: ../src/gcompris/config.c:85
+#: ../src/gcompris/config.c:87
msgid "Macedonian"
msgstr "Macedonio"
-#: ../src/gcompris/config.c:86
+#: ../src/gcompris/config.c:88
msgid "Malayalam"
msgstr "Malayo"
-#: ../src/gcompris/config.c:87
+#: ../src/gcompris/config.c:89
msgid "Marathi"
msgstr "Marathi"
-#: ../src/gcompris/config.c:88
+#: ../src/gcompris/config.c:90
msgid "Malay"
msgstr "Malayo"
-#: ../src/gcompris/config.c:89
+#: ../src/gcompris/config.c:91
msgid "Nepal"
msgstr "Nepal"
-#: ../src/gcompris/config.c:90
+#: ../src/gcompris/config.c:92
msgid "Dutch"
msgstr "Holandés"
-#: ../src/gcompris/config.c:91
+#: ../src/gcompris/config.c:93
msgid "Norwegian Bokmal"
msgstr "Noruego Bokmal"
-#: ../src/gcompris/config.c:92
+#: ../src/gcompris/config.c:94
msgid "Norwegian Nynorsk"
msgstr "Noruego Nynorsk"
-#: ../src/gcompris/config.c:93
+#: ../src/gcompris/config.c:95
msgid "Polish"
msgstr "Polaco"
-#: ../src/gcompris/config.c:94
+#: ../src/gcompris/config.c:96
msgid "Portuguese"
msgstr "Portugués"
-#: ../src/gcompris/config.c:95
+#: ../src/gcompris/config.c:97
msgid "Portuguese (Brazil)"
msgstr "Portugués (Brasil)"
-#: ../src/gcompris/config.c:96
+#: ../src/gcompris/config.c:98
msgid "Romanian"
msgstr "Rumano"
-#: ../src/gcompris/config.c:97
+#: ../src/gcompris/config.c:99
msgid "Russian"
msgstr "Ruso"
-#: ../src/gcompris/config.c:98
+#: ../src/gcompris/config.c:100
msgid "Kinyarwanda"
msgstr "Kinyarwanda"
-#: ../src/gcompris/config.c:99
+#: ../src/gcompris/config.c:101
msgid "Slovak"
msgstr "Eslovaco"
-#: ../src/gcompris/config.c:100
+#: ../src/gcompris/config.c:102
msgid "Slovenian"
msgstr "Esloveno"
-#: ../src/gcompris/config.c:101
+#: ../src/gcompris/config.c:103
msgid "Somali"
msgstr "Somalí"
-#: ../src/gcompris/config.c:102
+#: ../src/gcompris/config.c:104
msgid "Albanian"
msgstr "Albanés"
-#: ../src/gcompris/config.c:103
+#: ../src/gcompris/config.c:105
msgid "Serbian (Latin)"
msgstr "Servio (latino)"
-#: ../src/gcompris/config.c:104
+#: ../src/gcompris/config.c:106
msgid "Serbian"
msgstr "Servio"
-#: ../src/gcompris/config.c:105
+#: ../src/gcompris/config.c:107
msgid "Swedish"
msgstr "Sueco"
#. "ta_IN.UTF-8", N_("Tamil"),
-#: ../src/gcompris/config.c:107
+#: ../src/gcompris/config.c:109
msgid "Thai"
msgstr "Tailandés"
-#: ../src/gcompris/config.c:108
+#: ../src/gcompris/config.c:110
msgid "Turkish"
msgstr "Turco"
-#: ../src/gcompris/config.c:109
+#: ../src/gcompris/config.c:111
msgid "Vietnamese"
msgstr "Vietnamita"
-#: ../src/gcompris/config.c:110
+#: ../src/gcompris/config.c:112
msgid "Walloon"
msgstr "Valón"
-#: ../src/gcompris/config.c:111
+#: ../src/gcompris/config.c:113
msgid "Chinese (Simplified)"
msgstr "Chino (Simplificado)"
-#: ../src/gcompris/config.c:112
+#: ../src/gcompris/config.c:114
msgid "Chinese (Traditional)"
msgstr "Chino (tradicional)"
-#: ../src/gcompris/config.c:117
+#: ../src/gcompris/config.c:119
msgid "No time limit"
msgstr "Sin límite de tiempo"
-#: ../src/gcompris/config.c:118
+#: ../src/gcompris/config.c:120
msgid "Slow timer"
msgstr "Temporizador lento"
-#: ../src/gcompris/config.c:119
+#: ../src/gcompris/config.c:121
msgid "Normal timer"
msgstr "Temporizador normal"
-#: ../src/gcompris/config.c:120
+#: ../src/gcompris/config.c:122
msgid "Fast timer"
msgstr "Temporizador rápido"
-#: ../src/gcompris/config.c:125
+#: ../src/gcompris/config.c:127
msgid "800x600 (Default for gcompris)"
msgstr "800x600 (predeterminado para gcompris)"
-#: ../src/gcompris/config.c:130
+#: ../src/gcompris/config.c:132
msgid ""
"<i>Use Gcompris administration module\n"
"to filter boards</i>"
@@ -5774,38 +5837,38 @@ msgstr ""
"<i>Usa el módulo de administración de GCompris\n"
"para filtrar tableros</i>"
-#: ../src/gcompris/config.c:185 ../src/gcompris/config.c:195
+#: ../src/gcompris/config.c:187 ../src/gcompris/config.c:197
msgid "GCompris Configuration"
msgstr "Configuración de GCompris"
-#: ../src/gcompris/config.c:271
+#: ../src/gcompris/config.c:273
msgid "Fullscreen"
msgstr "Pantalla completa"
-#: ../src/gcompris/config.c:314
+#: ../src/gcompris/config.c:316
msgid "Music"
msgstr "Música"
-#: ../src/gcompris/config.c:342
+#: ../src/gcompris/config.c:344
msgid "Effect"
msgstr "Efecto"
-#: ../src/gcompris/config.c:378
+#: ../src/gcompris/config.c:380
#, c-format
msgid "Couldn't open skin dir: %s"
msgstr "No se puede abrir el directorio de apariencias: %s"
-#: ../src/gcompris/config.c:409 ../src/gcompris/config.c:843
-#: ../src/gcompris/config.c:857
+#: ../src/gcompris/config.c:411 ../src/gcompris/config.c:862
+#: ../src/gcompris/config.c:876
#, c-format
msgid "Skin : %s"
msgstr "Apariencia : %s"
-#: ../src/gcompris/config.c:411
+#: ../src/gcompris/config.c:413
msgid "SKINS NOT FOUND"
msgstr "APARIENCIAS NO ENCONTRADAS"
-#: ../src/gcompris/config.c:536
+#: ../src/gcompris/config.c:538
msgid "English (United State)"
msgstr "Inglés (Estados Unidos)"
@@ -5821,15 +5884,15 @@ msgstr "CARGAR"
msgid "SAVE"
msgstr "GUARDAR"
-#: ../src/gcompris/gameutil.c:79
+#: ../src/gcompris/gameutil.c:80
msgid "Couldn't find or load the file"
msgstr "No se ha podido encontrar o cargar el archivo"
-#: ../src/gcompris/gameutil.c:81
+#: ../src/gcompris/gameutil.c:82
msgid "This activity is incomplete."
msgstr "Esta actividad está incompleta."
-#: ../src/gcompris/gameutil.c:82
+#: ../src/gcompris/gameutil.c:83
msgid ""
"Exit it and report\n"
"the problem to the authors."
@@ -5837,47 +5900,47 @@ msgstr ""
"Salga e infórmenos\n"
"del problema."
-#: ../src/gcompris/gcompris.c:136
+#: ../src/gcompris/gcompris.c:122
msgid "run gcompris in fullscreen mode."
msgstr "ejecutar gcompris a pantalla completa."
-#: ../src/gcompris/gcompris.c:139
+#: ../src/gcompris/gcompris.c:125
msgid "run gcompris in window mode."
msgstr "ejecutar gcompris en una ventana."
-#: ../src/gcompris/gcompris.c:142
+#: ../src/gcompris/gcompris.c:128
msgid "run gcompris with sound enabled."
msgstr "ejecutar gcompris con el sonido activado."
-#: ../src/gcompris/gcompris.c:145
+#: ../src/gcompris/gcompris.c:131
msgid "run gcompris without sound."
msgstr "ejecutar gcompris sin sonido."
-#: ../src/gcompris/gcompris.c:148
+#: ../src/gcompris/gcompris.c:134
msgid "run gcompris with the default gnome cursor."
msgstr "ejecutar gcompris con el cursor predeterminado de GNOME."
-#: ../src/gcompris/gcompris.c:151
+#: ../src/gcompris/gcompris.c:137
msgid "display only activities with this difficulty level."
msgstr "mostrar sólo actividades con este nivel de dificultad."
-#: ../src/gcompris/gcompris.c:154
+#: ../src/gcompris/gcompris.c:140
msgid "display debug informations on the console."
msgstr "mostrar información de depuración en la consola."
-#: ../src/gcompris/gcompris.c:157
+#: ../src/gcompris/gcompris.c:143
msgid "Print the version of "
msgstr "Imprime la versión de "
-#: ../src/gcompris/gcompris.c:160
+#: ../src/gcompris/gcompris.c:146
msgid "Use the antialiased canvas (slower)."
msgstr "Usar el lienzo suavizado (más lento)."
-#: ../src/gcompris/gcompris.c:163
+#: ../src/gcompris/gcompris.c:149
msgid "Disable XF86VidMode (No screen resolution change)."
msgstr "Deshabilitar XF86VidMode (Sin cambio en la resolución de pantalla)."
-#: ../src/gcompris/gcompris.c:166
+#: ../src/gcompris/gcompris.c:152
msgid ""
"Run gcompris with local menu (e.g -l /reading will let you play only "
"activities in the reading directory, -l /strategy/connect4 only the connect4 "
@@ -5887,39 +5950,39 @@ msgstr ""
"sólo a actividades en el directorio de lectura, -l /strategy/connect4 sólo a "
"la actividad conecta4)"
-#: ../src/gcompris/gcompris.c:169
+#: ../src/gcompris/gcompris.c:155
msgid "Run GCompris with local activity directory added to menu"
msgstr "Ejecutar gcompris con el directorio de actividades local añadido al menú"
-#: ../src/gcompris/gcompris.c:172
+#: ../src/gcompris/gcompris.c:158
msgid "Run GCompris in administration and user-management mode"
msgstr "Ejecutar gcompris en modo administración y gestión de usuarios"
-#: ../src/gcompris/gcompris.c:175
+#: ../src/gcompris/gcompris.c:161
msgid "Use alternate database for profiles"
msgstr "Usa una base de datos alternativa para los perfiles"
-#: ../src/gcompris/gcompris.c:178
+#: ../src/gcompris/gcompris.c:164
msgid "Use alternate database for logs"
msgstr "Usar base de datos alternativa para los logs"
-#: ../src/gcompris/gcompris.c:181
+#: ../src/gcompris/gcompris.c:167
msgid "Create the alternate database for profiles"
msgstr "Crea la base de datos alternativa para los perfiles"
-#: ../src/gcompris/gcompris.c:184
+#: ../src/gcompris/gcompris.c:170
msgid "Re-read XML Menus and store them in the database"
msgstr "Volver a leer los menús XML y almacenarlos en la base de datos"
-#: ../src/gcompris/gcompris.c:187
+#: ../src/gcompris/gcompris.c:173
msgid "Set the profile to use. Use 'gcompris -a' to create profiles"
msgstr "Establece el perfil a usar. Usa 'gcompris -a' para crear perfiles"
-#: ../src/gcompris/gcompris.c:190
+#: ../src/gcompris/gcompris.c:176
msgid "List all available profiles. Use 'gcompris -a' to create profiles"
msgstr "Lista todos los perfiles disponibles. Usa 'gcompris -a' para crear perfiles"
-#: ../src/gcompris/gcompris.c:193
+#: ../src/gcompris/gcompris.c:179
msgid ""
"Shared directory location, for profiles and board-configuration data: "
"[$HOME/.gcompris/shared]"
@@ -5927,29 +5990,29 @@ msgstr ""
"Localización del directorio compartido, para los perfiles y datos de "
"configuración: [$HOME/.gcompris/shared]"
-#: ../src/gcompris/gcompris.c:196
+#: ../src/gcompris/gcompris.c:182
msgid "The location of user directories: [$HOME/.gcompris/users]"
msgstr "La localización de los directorios de usuario: [$HOME/.gcompris/users]"
-#: ../src/gcompris/gcompris.c:199
+#: ../src/gcompris/gcompris.c:185
msgid "Run the experimental activities"
msgstr "Ejecutar las actividades experimentales"
-#: ../src/gcompris/gcompris.c:202
+#: ../src/gcompris/gcompris.c:188
msgid "Disable the quit button"
msgstr "Desactivar el botón de salida"
-#: ../src/gcompris/gcompris.c:205
+#: ../src/gcompris/gcompris.c:191
msgid "Disable the config button"
msgstr "Desactivar el botón de configuración"
-#: ../src/gcompris/gcompris.c:208
+#: ../src/gcompris/gcompris.c:194
msgid "Display the resources on stdout based on the selected activities"
msgstr ""
"Mostrar los recursos en la salida estándar basándose en las actividades "
"seleccionadas"
-#: ../src/gcompris/gcompris.c:211
+#: ../src/gcompris/gcompris.c:197
msgid ""
"GCompris will get images, sounds and activity data from this server if not "
"found locally."
@@ -5957,7 +6020,7 @@ msgstr ""
"GCompris cogerá imágenes, sonidos y datos de las actividades de este "
"servidor si no se encuentran localmente."
-#: ../src/gcompris/gcompris.c:214
+#: ../src/gcompris/gcompris.c:200
msgid ""
"Only when --server is provided, disable check for local resource first. Data "
"are always taken from the web server."
@@ -5965,11 +6028,17 @@ msgstr ""
"Sólo cuando se especifica --server, desactivar la comprobación de recursos "
"locales en primer lugar. Los datos siempre se obtienen del servidor web."
-#: ../src/gcompris/gcompris.c:218
+#: ../src/gcompris/gcompris.c:204
msgid "In server mode, specify the cache directory used to avoid useless downloads."
-msgstr "En modo servidor, especifica donde está el directorio caché para evitar descargas innecesarias."
+msgstr ""
+"En modo servidor, especifica donde está el directorio caché para evitar "
+"descargas innecesarias."
+
+#: ../src/gcompris/gcompris.c:206
+msgid "Global drag and drop mode: normal, 2clicks, both. Default mode is normal."
+msgstr "Modo globar de arrastrar y soltar: normal, 2 pulsaciones, ambos. Lo predeterminado es normal."
-#: ../src/gcompris/gcompris.c:858
+#: ../src/gcompris/gcompris.c:831
#, c-format
msgid ""
"GCompris is free software released under the GPL License. In order to "
@@ -5992,7 +6061,7 @@ msgstr ""
"usar GNU/Linux. Obtenga más información acerca de esto en la FSF:\n"
"<http://www.fsf.org/philosophy>"
-#: ../src/gcompris/gcompris.c:1412
+#: ../src/gcompris/gcompris.c:1438
#, c-format
msgid ""
"GCompris\n"
@@ -6006,42 +6075,42 @@ msgstr ""
"Más información en http://gcompris.net\n"
#. check the list of possible values for -l, then exit
-#: ../src/gcompris/gcompris.c:1501
+#: ../src/gcompris/gcompris.c:1527
#, c-format
msgid "Use -l to access an activity directly.\n"
msgstr "Usa -l actividad para acceder directamente a una actividad.\n"
-#: ../src/gcompris/gcompris.c:1502
+#: ../src/gcompris/gcompris.c:1528
#, c-format
msgid "The list of available activities is :\n"
msgstr "Lista de actividades disponibles es:\n"
-#: ../src/gcompris/gcompris.c:1672
+#: ../src/gcompris/gcompris.c:1720
#, c-format
msgid "The list of available profiles is:\n"
msgstr "La lista de perfiles disponibles es:\n"
-#: ../src/gcompris/gcompris_db.c:250
+#: ../src/gcompris/gcompris_db.c:255
msgid "Unaffected"
msgstr "No afectado"
-#: ../src/gcompris/gcompris_db.c:251
+#: ../src/gcompris/gcompris_db.c:256
msgid "Users without a class"
msgstr "Usuarios sin una clase"
-#: ../src/gcompris/help.c:194
+#: ../src/gcompris/help.c:195
msgid "Prerequisite"
msgstr "Prerequisito"
-#: ../src/gcompris/help.c:222
+#: ../src/gcompris/help.c:223
msgid "Goal"
msgstr "Objetivo"
-#: ../src/gcompris/help.c:250
+#: ../src/gcompris/help.c:251
msgid "Manual"
msgstr "Manual"
-#: ../src/gcompris/help.c:278
+#: ../src/gcompris/help.c:279
msgid "Credit"
msgstr "Crédito"
diff --git a/po/it.po b/po/it.po
index 9cb639c..bdc5c22 100644
--- a/po/it.po
+++ b/po/it.po
@@ -4,16 +4,20 @@
# Immacolata Arenga <imma@eppesuigoccas.homedns.org>, 2002, 2003, 2004, 2005, 2006.
msgid ""
msgstr ""
-"Project-Id-Version: 7.2\n"
+"Project-Id-Version: 8.2\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-02-09 22:29+0100\n"
-"PO-Revision-Date: 2006-02-09 22:29+0100\n"
+"POT-Creation-Date: 2006-11-29 23:21+0100\n"
+"PO-Revision-Date: 2006-11-20 18:01+0100\n"
"Last-Translator: Immacolata Arenga <imma@eppesuigoccas.homedns.org>\n"
"Language-Team: IT <tp@lists.linux.it>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+#
+# File: ../boards/administration.xml.in.h, line: 1
+# File: ../boards/administration.xml.in.h, line: 1
+# File: ../boards/administration.xml.in.h, line: 1
#: ../boards/administration.xml.in.h:1
msgid ""
"- In the 'Boards' section you can change the list of activities. Just "
@@ -52,10 +56,18 @@ msgstr ""
"riconoscere i bambini come individui; essi possono imparare a inserire e "
"riconoscere il proprio utente (il login si può configurare)."
+#
+# File: ../boards/administration.xml.in.h, line: 4
+# File: ../boards/administration.xml.in.h, line: 4
+# File: ../boards/administration.xml.in.h, line: 4
#: ../boards/administration.xml.in.h:4
msgid "GCompris Administration Menu"
msgstr "Menù di amministrazione di GCompris"
+#
+# File: ../boards/administration.xml.in.h, line: 5
+# File: ../boards/administration.xml.in.h, line: 5
+# File: ../boards/administration.xml.in.h, line: 5
#: ../boards/administration.xml.in.h:5
msgid ""
"If you want to fine tune GCompris to your needs, you can use the "
@@ -68,312 +80,629 @@ msgstr ""
"specifiche per ogni bambino ai genitori e agli insegnanti che vogliono "
"controllare i progressi, le potenzialità e i punti deboli dei loro bambini."
+#
+# File: ../boards/administration.xml.in.h, line: 6
+# File: ../boards/administration.xml.in.h, line: 6
+# File: ../boards/administration.xml.in.h, line: 6
#: ../boards/administration.xml.in.h:6
msgid "Left-Click with the mouse to select an activity"
msgstr "Premi il tasto sinistro del mouse per scegliere un'attività"
+#
+# File: ../boards/advanced_colors.xml.in.h, line: 1
+# File: ../boards/advanced_colors.xml.in.h, line: 1
+# File: ../boards/advanced_colors.xml.in.h, line: 1
#: ../boards/advanced_colors.xml.in.h:1
msgid "Advanced colors"
msgstr "Colori avanzati"
+#
+# File: ../boards/advanced_colors.xml.in.h, line: 2
+# File: ../boards/read_colors.xml.in.h, line: 1
+# File: ../boards/advanced_colors.xml.in.h, line: 2
+# File: ../boards/read_colors.xml.in.h, line: 1
+# File: ../boards/advanced_colors.xml.in.h, line: 2
+# File: ../boards/read_colors.xml.in.h, line: 1
#: ../boards/advanced_colors.xml.in.h:2 ../boards/read_colors.xml.in.h:1
msgid "Can read"
msgstr "Saper leggere"
+#
+# File: ../boards/advanced_colors.xml.in.h, line: 3
+# File: ../boards/advanced_colors.xml.in.h, line: 3
+# File: ../boards/advanced_colors.xml.in.h, line: 3
#: ../boards/advanced_colors.xml.in.h:3
msgid "Click on the correct color"
msgstr "Fai clic sul colore giusto"
+#
+# File: ../boards/advanced_colors.xml.in.h, line: 4
+# File: ../boards/advanced_colors.xml.in.h, line: 4
+# File: ../boards/advanced_colors.xml.in.h, line: 4
#: ../boards/advanced_colors.xml.in.h:4
msgid "Click on the correct colored box."
msgstr "Fai clic sulla scatola del colore giusto."
+#
+# File: ../boards/advanced_colors.xml.in.h, line: 5
+# File: ../boards/advanced_colors.xml.in.h, line: 5
+# File: ../boards/advanced_colors.xml.in.h, line: 5
#: ../boards/advanced_colors.xml.in.h:5
msgid "Learn to recognize unusual colors."
msgstr "Impara a riconoscere i colori non comuni."
+#
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 1
#: ../boards/advanced_colors/board1.xml.in.h:1
msgid "almond"
msgstr "mandorla"
+#
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 2
#: ../boards/advanced_colors/board1.xml.in.h:2
msgid "chestnut"
msgstr "castagna"
+#
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 3
#: ../boards/advanced_colors/board1.xml.in.h:3
msgid "claret"
msgstr "chiaretto"
+#
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 4
#: ../boards/advanced_colors/board1.xml.in.h:4
msgid "cobalt"
msgstr "cobalto"
+#
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 5
#: ../boards/advanced_colors/board1.xml.in.h:5
msgid "coral"
msgstr "corallo"
+#
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 6
#: ../boards/advanced_colors/board1.xml.in.h:6
msgid "corn"
msgstr "granturco"
+#
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 7
#: ../boards/advanced_colors/board1.xml.in.h:7
msgid "cyan"
msgstr "ciano"
+#
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 8
#: ../boards/advanced_colors/board1.xml.in.h:8
msgid "sienna"
msgstr "terra di Siena"
+#
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 1
#: ../boards/advanced_colors/board2.xml.in.h:1
msgid "lime"
msgstr "limetta"
+#
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 2
#: ../boards/advanced_colors/board2.xml.in.h:2
msgid "sage"
msgstr "salvia"
+#
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 3
#: ../boards/advanced_colors/board2.xml.in.h:3
msgid "salmon"
msgstr "salmone"
+#
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 4
#: ../boards/advanced_colors/board2.xml.in.h:4
msgid "sapphire"
msgstr "zaffiro"
+#
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 5
#: ../boards/advanced_colors/board2.xml.in.h:5
msgid "sepia"
msgstr "seppia"
+#
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 6
#: ../boards/advanced_colors/board2.xml.in.h:6
msgid "sulphur"
msgstr "zolfo"
+#
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 7
#: ../boards/advanced_colors/board2.xml.in.h:7
msgid "tea"
msgstr "the"
+#
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board2.xml.in.h, line: 8
#: ../boards/advanced_colors/board2.xml.in.h:8
msgid "turquoise"
msgstr "turchese"
+#
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 1
#: ../boards/advanced_colors/board3.xml.in.h:1
msgid "absinthe"
msgstr "assenzio"
+#
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 2
#: ../boards/advanced_colors/board3.xml.in.h:2
msgid "alabaster"
msgstr "alabastro"
+#
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 3
#: ../boards/advanced_colors/board3.xml.in.h:3
msgid "amber"
msgstr "ambra"
+#
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 4
#: ../boards/advanced_colors/board3.xml.in.h:4
msgid "amethyst"
msgstr "ametista"
+#
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 5
#: ../boards/advanced_colors/board3.xml.in.h:5
msgid "anise"
msgstr "anice"
+#
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 6
#: ../boards/advanced_colors/board3.xml.in.h:6
msgid "aquamarine"
msgstr "acquamarina"
+#
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 7
#: ../boards/advanced_colors/board3.xml.in.h:7
msgid "mahogany"
msgstr "mogano"
+#
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board3.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 8
#: ../boards/advanced_colors/board3.xml.in.h:8
#: ../boards/advanced_colors/board8.xml.in.h:8
msgid "vermilion"
msgstr "vermiglio"
+#
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 1
#: ../boards/advanced_colors/board4.xml.in.h:1
#: ../boards/advanced_colors/board5.xml.in.h:1
msgid "aubergine"
msgstr "melanzana"
+#
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 2
#: ../boards/advanced_colors/board4.xml.in.h:2
msgid "ceruse"
msgstr "metallico"
+#
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 3
#: ../boards/advanced_colors/board4.xml.in.h:3
msgid "chartreuse"
msgstr "verde pallido"
+#
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 4
#: ../boards/advanced_colors/board4.xml.in.h:4
msgid "emerald"
msgstr "smeraldo"
+#
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 5
#: ../boards/advanced_colors/board4.xml.in.h:5
msgid "fawn"
msgstr "fulvo"
+#
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 6
#: ../boards/advanced_colors/board4.xml.in.h:6
msgid "fuchsia"
msgstr "fucsia"
+#
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 7
#: ../boards/advanced_colors/board4.xml.in.h:7
msgid "glaucous"
msgstr "glauco"
+#
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board4.xml.in.h, line: 8
#: ../boards/advanced_colors/board4.xml.in.h:8
msgid "ruby"
msgstr "rubino"
+#
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 2
#: ../boards/advanced_colors/board5.xml.in.h:2
msgid "auburn"
msgstr "castano ramato"
+#
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 3
#: ../boards/advanced_colors/board5.xml.in.h:3
msgid "azure"
msgstr "azzurro"
+#
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 4
#: ../boards/advanced_colors/board5.xml.in.h:4
msgid "bistre"
msgstr "nero-blu"
+#
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 5
#: ../boards/advanced_colors/board5.xml.in.h:5
msgid "celadon"
msgstr "verde-grigio"
+#
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 6
#: ../boards/advanced_colors/board5.xml.in.h:6
msgid "cerulean"
msgstr "ceruleo"
+#
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 7
#: ../boards/advanced_colors/board5.xml.in.h:7
msgid "crimson"
msgstr "cremisi"
+#
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board5.xml.in.h, line: 8
#: ../boards/advanced_colors/board5.xml.in.h:8
msgid "greyish-brown"
msgstr "marrone-grigio"
+#
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 1
#: ../boards/advanced_colors/board6.xml.in.h:1
msgid "dove"
msgstr "tortora"
+#
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 2
#: ../boards/advanced_colors/board6.xml.in.h:2
msgid "garnet"
msgstr "granato"
+#
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 3
#: ../boards/advanced_colors/board6.xml.in.h:3
msgid "indigo"
msgstr "indaco"
+#
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 4
#: ../boards/advanced_colors/board6.xml.in.h:4
msgid "ivory"
msgstr "avorio"
+#
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 5
#: ../boards/advanced_colors/board6.xml.in.h:5
msgid "jade"
msgstr "giada"
+#
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 6
#: ../boards/advanced_colors/board6.xml.in.h:6
msgid "lavender"
msgstr "lavanda"
+#
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 7
#: ../boards/advanced_colors/board6.xml.in.h:7
msgid "lichen"
msgstr "lichene"
+#
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board6.xml.in.h, line: 8
#: ../boards/advanced_colors/board6.xml.in.h:8
msgid "wine"
msgstr "vino"
+#
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 1
#: ../boards/advanced_colors/board7.xml.in.h:1
msgid "larch"
msgstr "larice"
+#
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 2
#: ../boards/advanced_colors/board7.xml.in.h:2
msgid "lilac"
msgstr "lilla"
+#
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 3
#: ../boards/advanced_colors/board7.xml.in.h:3
msgid "magenta"
msgstr "magenta"
+#
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 4
#: ../boards/advanced_colors/board7.xml.in.h:4
msgid "malachite"
msgstr "malachite"
+#
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 5
#: ../boards/advanced_colors/board7.xml.in.h:5
msgid "mimosa"
msgstr "mimosa"
+#
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 6
#: ../boards/advanced_colors/board7.xml.in.h:6
msgid "navy"
msgstr "blu marino"
+#
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 7
#: ../boards/advanced_colors/board7.xml.in.h:7
msgid "ochre"
msgstr "ocra"
+#
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board7.xml.in.h, line: 8
#: ../boards/advanced_colors/board7.xml.in.h:8
msgid "olive"
msgstr "oliva"
+#
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 1
#: ../boards/advanced_colors/board8.xml.in.h:1
msgid "greyish blue"
msgstr "blu grigiastro"
+#
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 2
#: ../boards/advanced_colors/board8.xml.in.h:2
msgid "mauve"
msgstr "malva"
+#
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 3
#: ../boards/advanced_colors/board8.xml.in.h:3
msgid "opaline"
msgstr "opalino"
+#
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 4
#: ../boards/advanced_colors/board8.xml.in.h:4
msgid "pistachio"
msgstr "pistacchio"
+#
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 5
#: ../boards/advanced_colors/board8.xml.in.h:5
msgid "platinum"
msgstr "platino"
+#
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 6
#: ../boards/advanced_colors/board8.xml.in.h:6
msgid "purple"
msgstr "porpora"
+#
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board8.xml.in.h, line: 7
#: ../boards/advanced_colors/board8.xml.in.h:7
msgid "ultramarine"
msgstr "blu oltremare"
+#
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 1
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 1
#: ../boards/advanced_colors/board9.xml.in.h:1
msgid "dark purple"
msgstr "viola scuro"
+#
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 2
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 2
#: ../boards/advanced_colors/board9.xml.in.h:2
msgid "plum"
msgstr "prugna"
+#
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 3
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 3
#: ../boards/advanced_colors/board9.xml.in.h:3
msgid "prussian blue"
msgstr "blu di prussia"
+#
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 4
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 4
#: ../boards/advanced_colors/board9.xml.in.h:4
msgid "rust"
msgstr "ruggine"
+#
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 5
#: ../boards/advanced_colors/board9.xml.in.h:5
msgid "saffron"
msgstr "zafferano"
+#
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 6
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 6
#: ../boards/advanced_colors/board9.xml.in.h:6
msgid "vanilla"
msgstr "vaniglia"
+#
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 7
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 7
#: ../boards/advanced_colors/board9.xml.in.h:7
msgid "verdigris"
msgstr "verderame"
+#
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 8
+# File: ../boards/advanced_colors/board9.xml.in.h, line: 8
#: ../boards/advanced_colors/board9.xml.in.h:8
msgid "veronese"
msgstr "veronese"
+#
+# File: ../boards/algebra_by.xml.in.h, line: 1
+# File: ../boards/algebra_by.xml.in.h, line: 1
+# File: ../boards/algebra_by.xml.in.h, line: 1
#: ../boards/algebra_by.xml.in.h:1
msgid ""
"A multiplication of two numbers is displayed. At the right of the equals "
@@ -385,32 +714,74 @@ msgstr ""
"dell'uguale. Usa le frecce sinistra e destra per modificare il prodotto, il "
"tasto invio per verificarlo. Se il risultato non fosse giusto riprova."
+#
+# File: ../boards/algebra_by.xml.in.h, line: 2
+# File: ../boards/algebra_minus.xml.in.h, line: 2
+# File: ../boards/algebra_plus.xml.in.h, line: 2
+# File: ../boards/algebra_by.xml.in.h, line: 2
+# File: ../boards/algebra_minus.xml.in.h, line: 2
+# File: ../boards/algebra_plus.xml.in.h, line: 2
+# File: ../boards/algebra_by.xml.in.h, line: 2
+# File: ../boards/algebra_minus.xml.in.h, line: 2
+# File: ../boards/algebra_plus.xml.in.h, line: 2
#: ../boards/algebra_by.xml.in.h:2 ../boards/algebra_minus.xml.in.h:2
#: ../boards/algebra_plus.xml.in.h:2
msgid "Answer some algebra questions"
msgstr "Rispondi ad alcune domande di algebra"
+#
+# File: ../boards/algebra_by.xml.in.h, line: 3
+# File: ../boards/algebra_by.xml.in.h, line: 3
+# File: ../boards/algebra_by.xml.in.h, line: 3
#: ../boards/algebra_by.xml.in.h:3
msgid "In a limited time, give the product of two numbers"
msgstr "Entro il tempo limite, scrivi il prodotto di due numeri"
+#
+# File: ../boards/algebra_by.xml.in.h, line: 4
+# File: ../boards/algebra_by.xml.in.h, line: 4
+# File: ../boards/algebra_by.xml.in.h, line: 4
#: ../boards/algebra_by.xml.in.h:4
msgid "Multiplication table"
msgstr "Tavola della moltiplicazione"
+#
+# File: ../boards/algebra_by.xml.in.h, line: 5
+# File: ../boards/algebra_by.xml.in.h, line: 5
+# File: ../boards/algebra_by.xml.in.h, line: 5
#: ../boards/algebra_by.xml.in.h:5
msgid "Practice the multiplication operation"
msgstr "Esercizi con la moltiplicazione"
+#
+# File: ../boards/algebra_group.xml.in.h, line: 1
+# File: ../boards/algebra_group.xml.in.h, line: 1
+# File: ../boards/algebra_group.xml.in.h, line: 1
#: ../boards/algebra_group.xml.in.h:1
msgid "Go to Algebra activities"
msgstr "Vai agli esercizi di algebra"
+#
+# File: ../boards/algebra_group.xml.in.h, line: 2
+# File: ../boards/menu.xml.in.h, line: 17
+# File: ../boards/algebra_group.xml.in.h, line: 2
+# File: ../boards/menu.xml.in.h, line: 17
+# File: ../boards/algebra_group.xml.in.h, line: 2
+# File: ../boards/menu.xml.in.h, line: 17
#: ../boards/algebra_group.xml.in.h:2 ../boards/menu.xml.in.h:17
msgid "Left-click the mouse on an activity to select it."
msgstr "Premi il tasto sinistro del mouse sull'attività che vuoi scegliere."
#
+# File: ../boards/algebra_guesscount.xml.in.h, line: 1
+# File: ../boards/erase_clic.xml.in.h, line: 1
+# File: ../boards/erase_double_clic.xml.in.h, line: 1
+# File: ../boards/algebra_guesscount.xml.in.h, line: 1
+# File: ../boards/erase_clic.xml.in.h, line: 1
+# File: ../boards/erase_double_clic.xml.in.h, line: 1
+# File: ../boards/algebra_guesscount.xml.in.h, line: 1
+# File: ../boards/erase_clic.xml.in.h, line: 1
+# File: ../boards/erase_double_clic.xml.in.h, line: 1
#: ../boards/algebra_guesscount.xml.in.h:1 ../boards/erase_clic.xml.in.h:1
#: ../boards/erase_double_clic.xml.in.h:1
msgid ""
@@ -422,6 +793,10 @@ msgstr ""
"Schmode (http://schmode.net/). Ralf ha gentilmente dato a Gcompris "
"l'autorizzazione per includere le sue foto. Molte grazie a Ralf."
+#
+# File: ../boards/algebra_guesscount.xml.in.h, line: 2
+# File: ../boards/algebra_guesscount.xml.in.h, line: 2
+# File: ../boards/algebra_guesscount.xml.in.h, line: 2
#: ../boards/algebra_guesscount.xml.in.h:2
msgid ""
"At the top of the board area, choose the numbers and arithmetic operators "
@@ -432,6 +807,10 @@ msgstr ""
"il risultato richiesto. Puoi annullare la selezione di un numero o di una "
"operazione cliccandoci di nuovo sopra."
+#
+# File: ../boards/algebra_guesscount.xml.in.h, line: 3
+# File: ../boards/algebra_guesscount.xml.in.h, line: 3
+# File: ../boards/algebra_guesscount.xml.in.h, line: 3
#: ../boards/algebra_guesscount.xml.in.h:3
msgid ""
"Deploy a strategy to arrange a set of arithmetic operations to match a given "
@@ -440,15 +819,27 @@ msgstr ""
"Attua una strategia per ordinare le operazioni aritmetiche per ottenere il "
"risultato richiesto."
+#
+# File: ../boards/algebra_guesscount.xml.in.h, line: 4
+# File: ../boards/algebra_guesscount.xml.in.h, line: 4
+# File: ../boards/algebra_guesscount.xml.in.h, line: 4
#: ../boards/algebra_guesscount.xml.in.h:4
msgid "Find the series of correct operations that matches the given answer"
msgstr "Trova le operazioni giuste per ottenere il risultato richiesto"
+#
+# File: ../boards/algebra_guesscount.xml.in.h, line: 5
+# File: ../boards/algebra_guesscount.xml.in.h, line: 5
+# File: ../boards/algebra_guesscount.xml.in.h, line: 5
#: ../boards/algebra_guesscount.xml.in.h:5
msgid "The four arithmetic operations. Combine several arithmetic operations."
msgstr ""
"Le quattro operazioni aritmetiche. Combina varie operazioni aritmetiche."
+#
+# File: ../boards/algebra_guesscount.xml.in.h, line: 6
+# File: ../boards/algebra_guesscount.xml.in.h, line: 6
+# File: ../boards/algebra_guesscount.xml.in.h, line: 6
#: ../boards/algebra_guesscount.xml.in.h:6
msgid ""
"Work out the right combination of numbers and operations to match the given "
@@ -457,6 +848,10 @@ msgstr ""
"Trova la giusta combinazione di numeri e operazioni per ottenere\n"
"il risultato richiesto"
+#
+# File: ../boards/algebra_minus.xml.in.h, line: 1
+# File: ../boards/algebra_minus.xml.in.h, line: 1
+# File: ../boards/algebra_minus.xml.in.h, line: 1
#: ../boards/algebra_minus.xml.in.h:1
msgid ""
"A subtraction problem with two numbers is displayed. At the right of the "
@@ -468,18 +863,34 @@ msgstr ""
"dell'uguale. Usa le frecce sinistra e destra per modificare la tua risposta, "
"il tasto invio per verificarla. Se la risposta fosse sbagliata, riprova."
+#
+# File: ../boards/algebra_minus.xml.in.h, line: 3
+# File: ../boards/algebra_minus.xml.in.h, line: 3
+# File: ../boards/algebra_minus.xml.in.h, line: 3
#: ../boards/algebra_minus.xml.in.h:3
msgid "In a limited time, find the difference between two numbers"
msgstr "Entro il tempo limite, trova la differenza tra due numeri"
+#
+# File: ../boards/algebra_minus.xml.in.h, line: 4
+# File: ../boards/algebra_minus.xml.in.h, line: 4
+# File: ../boards/algebra_minus.xml.in.h, line: 4
#: ../boards/algebra_minus.xml.in.h:4
msgid "Practice the subtraction operation"
msgstr "Fai pratica con l'operazione di sottrazione"
+#
+# File: ../boards/algebra_minus.xml.in.h, line: 5
+# File: ../boards/algebra_minus.xml.in.h, line: 5
+# File: ../boards/algebra_minus.xml.in.h, line: 5
#: ../boards/algebra_minus.xml.in.h:5
msgid "Simple subtraction"
msgstr "Sottrazione semplice"
+#
+# File: ../boards/algebra_plus.xml.in.h, line: 1
+# File: ../boards/algebra_plus.xml.in.h, line: 1
+# File: ../boards/algebra_plus.xml.in.h, line: 1
#: ../boards/algebra_plus.xml.in.h:1
msgid ""
"An addition problem with two numbers is displayed. At the right of the "
@@ -491,6 +902,10 @@ msgstr ""
"Usa le frecce sinistra e destra per modificare la tua risposta, il tasto "
"invio per verificarla. Se la risposta fosse sbagliata, riprova.."
+#
+# File: ../boards/algebra_plus.xml.in.h, line: 3
+# File: ../boards/algebra_plus.xml.in.h, line: 3
+# File: ../boards/algebra_plus.xml.in.h, line: 3
#: ../boards/algebra_plus.xml.in.h:3
msgid ""
"In a limited time, find the sum of of two numbers. Introduction to simple in-"
@@ -499,51 +914,105 @@ msgstr ""
"Entro il tempo limite, trova la somma di due numeri.\n"
"Introduzione all'addizione semplice."
+#
+# File: ../boards/algebra_plus.xml.in.h, line: 4
+# File: ../boards/algebra_plus.xml.in.h, line: 4
+# File: ../boards/algebra_plus.xml.in.h, line: 4
#: ../boards/algebra_plus.xml.in.h:4
msgid "Practice the addition operation"
msgstr "Fai pratica con l'operazione di addizione"
+#
+# File: ../boards/algebra_plus.xml.in.h, line: 5
+# File: ../boards/algebra_plus.xml.in.h, line: 5
+# File: ../boards/algebra_plus.xml.in.h, line: 5
#: ../boards/algebra_plus.xml.in.h:5
msgid "Simple addition. Can recognize written numbers"
msgstr "Addizione semplice. Poter riconoscere i numeri scritti"
+#
+# File: ../boards/algebramenu.xml.in.h, line: 1
+# File: ../boards/algebramenu.xml.in.h, line: 1
+# File: ../boards/algebramenu.xml.in.h, line: 1
#: ../boards/algebramenu.xml.in.h:1
msgid "Go to calculation activities"
msgstr "Vai alle attività di calcolo"
+#
+# File: ../boards/algebramenu.xml.in.h, line: 2
+# File: ../boards/algebramenu.xml.in.h, line: 2
+# File: ../boards/algebramenu.xml.in.h, line: 2
#: ../boards/algebramenu.xml.in.h:2
msgid "Various calculation activities."
msgstr "Attività di calcolo varie."
+#
+# File: ../boards/algorithm.xml.in.h, line: 1
+# File: ../boards/algorithm.xml.in.h, line: 1
+# File: ../boards/algorithm.xml.in.h, line: 1
#: ../boards/algorithm.xml.in.h:1
msgid "Complete a list of symbols"
msgstr "Completa una lista di simboli"
+#
+# File: ../boards/algorithm.xml.in.h, line: 2
+# File: ../boards/algorithm.xml.in.h, line: 2
+# File: ../boards/algorithm.xml.in.h, line: 2
#: ../boards/algorithm.xml.in.h:2
msgid "Find the next symbol in a list."
msgstr "Trova il prossimo simbolo in una lista di simboli."
+#
+# File: ../boards/algorithm.xml.in.h, line: 3
+# File: ../boards/algorithm.xml.in.h, line: 3
+# File: ../boards/algorithm.xml.in.h, line: 3
#: ../boards/algorithm.xml.in.h:3
msgid "Logic training activity"
msgstr "Esercizi di logica"
+#
+# File: ../boards/algorithm.xml.in.h, line: 4
+# File: ../boards/hexagon.xml.in.h, line: 3
+# File: ../boards/melody.xml.in.h, line: 4
+# File: ../boards/algorithm.xml.in.h, line: 4
+# File: ../boards/hexagon.xml.in.h, line: 3
+# File: ../boards/melody.xml.in.h, line: 4
+# File: ../boards/algorithm.xml.in.h, line: 4
+# File: ../boards/hexagon.xml.in.h, line: 3
+# File: ../boards/melody.xml.in.h, line: 4
#: ../boards/algorithm.xml.in.h:4 ../boards/hexagon.xml.in.h:3
#: ../boards/melody.xml.in.h:4
msgid "Move and click the mouse"
msgstr "Muovi il mouse e fai clic"
+#
+# File: ../boards/algorithm.xml.in.h, line: 5
+# File: ../boards/algorithm.xml.in.h, line: 5
+# File: ../boards/algorithm.xml.in.h, line: 5
#: ../boards/algorithm.xml.in.h:5
msgid "algorithm"
msgstr "algoritmo"
+#
+# File: ../boards/anim.xml.in.h, line: 1
+# File: ../boards/anim.xml.in.h, line: 1
+# File: ../boards/anim.xml.in.h, line: 1
#: ../boards/anim.xml.in.h:1
msgid "Create a drawing or an animation"
msgstr "Crea un disegno o una animazione."
+#
+# File: ../boards/anim.xml.in.h, line: 2
+# File: ../boards/anim.xml.in.h, line: 2
+# File: ../boards/anim.xml.in.h, line: 2
#: ../boards/anim.xml.in.h:2
msgid "Free drawing and animation tool."
msgstr "Strumento per il disegno libero e l'animazione."
+#
+# File: ../boards/anim.xml.in.h, line: 3
+# File: ../boards/anim.xml.in.h, line: 3
+# File: ../boards/anim.xml.in.h, line: 3
#: ../boards/anim.xml.in.h:3
msgid ""
"In this game, children can draw freely. The goal is to discover how to "
@@ -556,10 +1025,21 @@ msgstr ""
"di base: rettangoli, ellissi e linee. Per dare ai bambini una scelta più "
"ampia, può anche essere usato un insieme di immagini."
+#
+# File: ../boards/anim.xml.in.h, line: 4
+# File: ../boards/draw.xml.in.h, line: 4
+# File: ../boards/anim.xml.in.h, line: 4
+# File: ../boards/draw.xml.in.h, line: 4
+# File: ../boards/anim.xml.in.h, line: 4
+# File: ../boards/draw.xml.in.h, line: 4
#: ../boards/anim.xml.in.h:4 ../boards/draw.xml.in.h:4
msgid "Needs to be capable of moving and clicking the mouse easily"
msgstr "È necessario saper muovere il mouse e fare clic facilmente"
+#
+# File: ../boards/anim.xml.in.h, line: 5
+# File: ../boards/anim.xml.in.h, line: 5
+# File: ../boards/anim.xml.in.h, line: 5
#: ../boards/anim.xml.in.h:5
msgid ""
"Select a drawing tool on the left, and a color down the bottom. Then click "
@@ -589,6 +1069,10 @@ msgstr ""
"schermo. Puoi anche salvare e ricaricare le tue animazioni con i pulsanti "
"'dischetto' e 'cartella'."
+#
+# File: ../boards/awele.xml.in.h, line: 1
+# File: ../boards/awele.xml.in.h, line: 1
+# File: ../boards/awele.xml.in.h, line: 1
#: ../boards/awele.xml.in.h:1
msgid ""
"At the beginning of the game four seeds are placed in each house. Players "
@@ -636,14 +1120,26 @@ msgstr ""
"termina la partita.(Preso da Wikipedia &lt;http://en.wikipedia.org/wiki/"
"Oware&gt;)"
+#
+# File: ../boards/awele.xml.in.h, line: 2
+# File: ../boards/awele.xml.in.h, line: 2
+# File: ../boards/awele.xml.in.h, line: 2
#: ../boards/awele.xml.in.h:2
msgid "Oware"
msgstr "Oware"
+#
+# File: ../boards/awele.xml.in.h, line: 3
+# File: ../boards/awele.xml.in.h, line: 3
+# File: ../boards/awele.xml.in.h, line: 3
#: ../boards/awele.xml.in.h:3
msgid "Play the Oware strategy game against Tux"
msgstr "Gioca contro Tux al gioco di strategia Oware"
+#
+# File: ../boards/awele.xml.in.h, line: 4
+# File: ../boards/awele.xml.in.h, line: 4
+# File: ../boards/awele.xml.in.h, line: 4
#: ../boards/awele.xml.in.h:4
msgid ""
"The object of the game is to capture more seeds than one's opponent. Since "
@@ -663,6 +1159,31 @@ msgstr ""
"fine di mosse ripetute), ciascuno cattura i semi presenti sul proprio lato "
"del tavoliere."
+#
+# File: ../boards/babymatch.xml.in.h, line: 1
+# File: ../boards/babymatch/board1_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board2_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board3_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board4_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board5_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board6_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board7_0.xml.in.h, line: 1
+# File: ../boards/babymatch.xml.in.h, line: 1
+# File: ../boards/babymatch/board1_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board2_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board3_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board4_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board5_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board6_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board7_0.xml.in.h, line: 1
+# File: ../boards/babymatch.xml.in.h, line: 1
+# File: ../boards/babymatch/board1_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board2_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board3_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board4_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board5_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board6_0.xml.in.h, line: 1
+# File: ../boards/babymatch/board7_0.xml.in.h, line: 1
#: ../boards/babymatch.xml.in.h:1 ../boards/babymatch/board1_0.xml.in.h:1
#: ../boards/babymatch/board2_0.xml.in.h:1
#: ../boards/babymatch/board3_0.xml.in.h:1
@@ -673,6 +1194,10 @@ msgstr ""
msgid "Drag and Drop the items to make them match"
msgstr "Trascina e lascia gli oggetti per accoppiarli"
+#
+# File: ../boards/babymatch.xml.in.h, line: 2
+# File: ../boards/babymatch.xml.in.h, line: 2
+# File: ../boards/babymatch.xml.in.h, line: 2
#: ../boards/babymatch.xml.in.h:2
msgid ""
"In the main board area, a set of objects is displayed. In the vertical box "
@@ -689,23 +1214,43 @@ msgstr ""
"oggetti. Come collegarli? Trasporta ogni oggetto sull'apposito spazio rosso "
"nell'area principale."
+#
+# File: ../boards/babymatch.xml.in.h, line: 3
+# File: ../boards/babymatch.xml.in.h, line: 3
+# File: ../boards/babymatch.xml.in.h, line: 3
#: ../boards/babymatch.xml.in.h:3
msgid "Matching Items"
msgstr "Accoppia gli oggetti"
+#
+# File: ../boards/babymatch.xml.in.h, line: 4
+# File: ../boards/babymatch.xml.in.h, line: 4
+# File: ../boards/babymatch.xml.in.h, line: 4
#: ../boards/babymatch.xml.in.h:4
msgid "Motor coordination. Conceptual matching."
msgstr "Abilità di coordinazione. Corrispondenza di concetti."
+#
+# File: ../boards/babymatch.xml.in.h, line: 5
+# File: ../boards/babymatch.xml.in.h, line: 5
+# File: ../boards/babymatch.xml.in.h, line: 5
#: ../boards/babymatch.xml.in.h:5
msgid "Mouse manipulation: movement, drag and drop. Cultural references."
msgstr ""
"Utilizzo del mouse: muovere, trascinare e lasciare. Riferimenti culturali."
+#
+# File: ../boards/babyshapes.xml.in.h, line: 1
+# File: ../boards/babyshapes.xml.in.h, line: 1
+# File: ../boards/babyshapes.xml.in.h, line: 1
#: ../boards/babyshapes.xml.in.h:1
msgid "Complete the puzzle"
msgstr "Completa il puzzle"
+#
+# File: ../boards/babyshapes.xml.in.h, line: 2
+# File: ../boards/babyshapes.xml.in.h, line: 2
+# File: ../boards/babyshapes.xml.in.h, line: 2
#: ../boards/babyshapes.xml.in.h:2
msgid ""
"Complete the puzzle by dragging each piece from the set of pieces on the "
@@ -714,34 +1259,66 @@ msgstr ""
"Completa il puzzle trascinando ogni pezzo dalla serie di pezzi sulla "
"sinistra allo spazio corrispondente nel puzzle."
+#
+# File: ../boards/babyshapes.xml.in.h, line: 3
+# File: ../boards/babyshapes.xml.in.h, line: 3
+# File: ../boards/babyshapes.xml.in.h, line: 3
#: ../boards/babyshapes.xml.in.h:3
msgid "Drag and Drop the shapes on their respective targets"
msgstr "Trascina e lascia le figure negli spazi corrispondenti"
+#
+# File: ../boards/babyshapes.xml.in.h, line: 4
+# File: ../boards/babyshapes.xml.in.h, line: 4
+# File: ../boards/babyshapes.xml.in.h, line: 4
#: ../boards/babyshapes.xml.in.h:4
msgid "Good mouse-control"
msgstr "Buon controllo del mouse"
+#
+# File: ../boards/babyshapes.xml.in.h, line: 5
+# File: ../boards/babyshapes.xml.in.h, line: 5
+# File: ../boards/babyshapes.xml.in.h, line: 5
#: ../boards/babyshapes.xml.in.h:5
msgid "The dog is provided by Andre Connes and released under the GPL"
msgstr "Il cane è fornito da Andre Connes e distribuito sotto la GPL"
+#
+# File: ../boards/babyshapes/board5_0.xml.in.h, line: 1
+# File: ../boards/babyshapes/board5_0.xml.in.h, line: 1
+# File: ../boards/babyshapes/board5_0.xml.in.h, line: 1
#: ../boards/babyshapes/board5_0.xml.in.h:1
msgid "Hello ! My name is Lock."
msgstr "Ciao! Il mio nome è Lock."
+#
+# File: ../boards/babyshapes/board6_0.xml.in.h, line: 1
+# File: ../boards/babyshapes/board6_0.xml.in.h, line: 1
+# File: ../boards/babyshapes/board6_0.xml.in.h, line: 1
#: ../boards/babyshapes/board6_0.xml.in.h:1
msgid "Lock on the grass."
msgstr "Lock sull'erba."
+#
+# File: ../boards/babyshapes/board7_0.xml.in.h, line: 1
+# File: ../boards/babyshapes/board7_0.xml.in.h, line: 1
+# File: ../boards/babyshapes/board7_0.xml.in.h, line: 1
#: ../boards/babyshapes/board7_0.xml.in.h:1
msgid "Lock with colored shapes."
msgstr "Lock con le forme colorate."
+#
+# File: ../boards/ballcatch.xml.in.h, line: 1
+# File: ../boards/ballcatch.xml.in.h, line: 1
+# File: ../boards/ballcatch.xml.in.h, line: 1
#: ../boards/ballcatch.xml.in.h:1
msgid "Make the ball go to Tux"
msgstr "Manda la palla verso Tux"
+#
+# File: ../boards/ballcatch.xml.in.h, line: 2
+# File: ../boards/ballcatch.xml.in.h, line: 2
+# File: ../boards/ballcatch.xml.in.h, line: 2
#: ../boards/ballcatch.xml.in.h:2
msgid ""
"Press the two shift keys at the same time, to make the ball go in a straight "
@@ -749,18 +1326,37 @@ msgid ""
msgstr ""
"Premi insieme i due tasti maiuscolo (shift) per lanciare dritto la palla"
+#
+# File: ../boards/bargame.xml.in.h, line: 1
+# File: ../boards/bargame.xml.in.h, line: 1
+# File: ../boards/bargame.xml.in.h, line: 1
#: ../boards/bargame.xml.in.h:1
msgid "Brain"
msgstr "Intelligenza"
+#
+# File: ../boards/bargame.xml.in.h, line: 2
+# File: ../boards/bargame.xml.in.h, line: 2
+# File: ../boards/bargame.xml.in.h, line: 2
#: ../boards/bargame.xml.in.h:2
msgid "Don't use the last ball"
msgstr "Non usare l'ultima biglia"
+#
+# File: ../boards/bargame.xml.in.h, line: 3
+# File: ../boards/hexagon.xml.in.h, line: 2
+# File: ../boards/bargame.xml.in.h, line: 3
+# File: ../boards/hexagon.xml.in.h, line: 2
+# File: ../boards/bargame.xml.in.h, line: 3
+# File: ../boards/hexagon.xml.in.h, line: 2
#: ../boards/bargame.xml.in.h:3 ../boards/hexagon.xml.in.h:2
msgid "Logic-training activity"
msgstr "Esercizi di logica"
+#
+# File: ../boards/bargame.xml.in.h, line: 4
+# File: ../boards/bargame.xml.in.h, line: 4
+# File: ../boards/bargame.xml.in.h, line: 4
#: ../boards/bargame.xml.in.h:4
msgid ""
"Place balls in the holes. You win if the computer has to place the last "
@@ -769,28 +1365,84 @@ msgstr ""
"Metti le biglie nei buchi. Avrai vinto quando il computer dovrà posizionare "
"l'ultima biglia. Se vuoi che inizi Tux, fai clic su di lui."
+#
+# File: ../boards/bargame.xml.in.h, line: 5
+# File: ../boards/bargame.xml.in.h, line: 5
+# File: ../boards/bargame.xml.in.h, line: 5
#: ../boards/bargame.xml.in.h:5
msgid "bar game"
msgstr "gioco della barra"
+#
+# File: ../boards/billard.xml.in.h, line: 1
+# File: ../boards/billard.xml.in.h, line: 1
+# File: ../boards/billard.xml.in.h, line: 1
#: ../boards/billard.xml.in.h:1
msgid "Kick the ball into the black hole on the right"
msgstr "Manda la palla verso la buca nera sulla destra"
+#
+# File: ../boards/billard.xml.in.h, line: 2
+# File: ../boards/billard.xml.in.h, line: 2
+# File: ../boards/billard.xml.in.h, line: 2
#: ../boards/billard.xml.in.h:2
msgid "Kick the ball into the goal"
msgstr "Manda la palla nella buca"
+#
+# File: ../boards/billard.xml.in.h, line: 3
+# File: ../boards/chess_computer.xml.in.h, line: 2
+# File: ../boards/chess_movelearn.xml.in.h, line: 3
+# File: ../boards/chess_partyend.xml.in.h, line: 2
+# File: ../boards/clickgame.xml.in.h, line: 16
+# File: ../boards/connect4.xml.in.h, line: 6
+# File: ../boards/erase.xml.in.h, line: 3
+# File: ../boards/erase_clic.xml.in.h, line: 6
+# File: ../boards/erase_double_clic.xml.in.h, line: 6
+# File: ../boards/fifteen.xml.in.h, line: 2
+# File: ../boards/hanoi.xml.in.h, line: 3
+# File: ../boards/memory.xml.in.h, line: 4
+# File: ../boards/tangram.xml.in.h, line: 8
+# File: ../boards/billard.xml.in.h, line: 3
+# File: ../boards/chess_computer.xml.in.h, line: 2
+# File: ../boards/chess_movelearn.xml.in.h, line: 3
+# File: ../boards/chess_partyend.xml.in.h, line: 2
+# File: ../boards/clickgame.xml.in.h, line: 16
+# File: ../boards/connect4.xml.in.h, line: 6
+# File: ../boards/erase.xml.in.h, line: 3
+# File: ../boards/erase_clic.xml.in.h, line: 6
+# File: ../boards/erase_double_clic.xml.in.h, line: 6
+# File: ../boards/fifteen.xml.in.h, line: 2
+# File: ../boards/hanoi.xml.in.h, line: 3
+# File: ../boards/memory.xml.in.h, line: 4
+# File: ../boards/tangram.xml.in.h, line: 8
+# File: ../boards/billard.xml.in.h, line: 3
+# File: ../boards/chess_computer.xml.in.h, line: 2
+# File: ../boards/chess_movelearn.xml.in.h, line: 3
+# File: ../boards/chess_partyend.xml.in.h, line: 2
+# File: ../boards/clickgame.xml.in.h, line: 16
+# File: ../boards/connect4.xml.in.h, line: 6
+# File: ../boards/erase.xml.in.h, line: 3
+# File: ../boards/erase_clic.xml.in.h, line: 6
+# File: ../boards/erase_double_clic.xml.in.h, line: 6
+# File: ../boards/fifteen.xml.in.h, line: 2
+# File: ../boards/hanoi.xml.in.h, line: 3
+# File: ../boards/memory.xml.in.h, line: 4
+# File: ../boards/tangram.xml.in.h, line: 8
#: ../boards/billard.xml.in.h:3 ../boards/chess_computer.xml.in.h:2
#: ../boards/chess_movelearn.xml.in.h:3 ../boards/chess_partyend.xml.in.h:2
-#: ../boards/clickgame.xml.in.h:16 ../boards/connect4.xml.in.h:7
-#: ../boards/erase.xml.in.h:3 ../boards/erase_clic.xml.in.h:6
-#: ../boards/erase_double_clic.xml.in.h:6 ../boards/fifteen.xml.in.h:2
-#: ../boards/hanoi.xml.in.h:3 ../boards/memory.xml.in.h:4
-#: ../boards/tangram.xml.in.h:8
+#: ../boards/clickgame.xml.in.h:16 ../boards/connect4.xml.in.h:6
+#: ../boards/connect4-2players.xml.in.h:5 ../boards/erase.xml.in.h:3
+#: ../boards/erase_clic.xml.in.h:6 ../boards/erase_double_clic.xml.in.h:6
+#: ../boards/fifteen.xml.in.h:2 ../boards/hanoi.xml.in.h:3
+#: ../boards/memory.xml.in.h:4 ../boards/tangram.xml.in.h:8
msgid "Mouse-manipulation"
msgstr "Utilizzo del mouse"
+#
+# File: ../boards/billard.xml.in.h, line: 4
+# File: ../boards/billard.xml.in.h, line: 4
+# File: ../boards/billard.xml.in.h, line: 4
#: ../boards/billard.xml.in.h:4
msgid ""
"Point the mouse and click on the ball, to set the speed and direction of the "
@@ -799,14 +1451,26 @@ msgstr ""
"Punta il mouse e fai clic sulla palla per impostarne la velocità e la "
"direzione. Più il clic è centrale, più la palla sarà lenta."
+#
+# File: ../boards/billard.xml.in.h, line: 5
+# File: ../boards/billard.xml.in.h, line: 5
+# File: ../boards/billard.xml.in.h, line: 5
#: ../boards/billard.xml.in.h:5
msgid "The football game"
msgstr "Il gioco del calcio"
+#
+# File: ../boards/canal_lock.xml.in.h, line: 1
+# File: ../boards/canal_lock.xml.in.h, line: 1
+# File: ../boards/canal_lock.xml.in.h, line: 1
#: ../boards/canal_lock.xml.in.h:1
msgid "Operate a canal lock"
msgstr "Fai funzionare una chiusa"
+#
+# File: ../boards/canal_lock.xml.in.h, line: 2
+# File: ../boards/canal_lock.xml.in.h, line: 2
+# File: ../boards/canal_lock.xml.in.h, line: 2
#: ../boards/canal_lock.xml.in.h:2
msgid ""
"Tux is in trouble, and needs to take his boat through a lock. Help Tux and "
@@ -816,6 +1480,10 @@ msgstr ""
"barca.\n"
"Aiutalo e scopri come funziona una chiusa del canale."
+#
+# File: ../boards/canal_lock.xml.in.h, line: 3
+# File: ../boards/canal_lock.xml.in.h, line: 3
+# File: ../boards/canal_lock.xml.in.h, line: 3
#: ../boards/canal_lock.xml.in.h:3
msgid ""
"You are in charge of the canal lock. Open the gates and the locks in the "
@@ -825,40 +1493,91 @@ msgstr ""
"nell'ordine giusto, in modo che Tux passi attraverso le entrate nelle due "
"direzioni."
+#
+# File: ../boards/chess.xml.in.h, line: 1
+# File: ../boards/chess_computer.xml.in.h, line: 3
+# File: ../boards/chess.xml.in.h, line: 1
+# File: ../boards/chess_computer.xml.in.h, line: 3
+# File: ../boards/chess.xml.in.h, line: 1
+# File: ../boards/chess_computer.xml.in.h, line: 3
#: ../boards/chess.xml.in.h:1 ../boards/chess_computer.xml.in.h:3
msgid "Play chess against the computer in a learning mode"
msgstr "Gioca a scacchi contro il computer in modalità semplificata"
+#
+# File: ../boards/chess.xml.in.h, line: 2
+# File: ../boards/chess.xml.in.h, line: 2
+# File: ../boards/chess.xml.in.h, line: 2
#: ../boards/chess.xml.in.h:2
msgid "Practice chess"
msgstr "Esercizi con gli scacchi"
+#
+# File: ../boards/chess_computer.xml.in.h, line: 1
+# File: ../boards/chess_movelearn.xml.in.h, line: 2
+# File: ../boards/chess_partyend.xml.in.h, line: 1
+# File: ../boards/chess_computer.xml.in.h, line: 1
+# File: ../boards/chess_movelearn.xml.in.h, line: 2
+# File: ../boards/chess_partyend.xml.in.h, line: 1
+# File: ../boards/chess_computer.xml.in.h, line: 1
+# File: ../boards/chess_movelearn.xml.in.h, line: 2
+# File: ../boards/chess_partyend.xml.in.h, line: 1
#: ../boards/chess_computer.xml.in.h:1 ../boards/chess_movelearn.xml.in.h:2
#: ../boards/chess_partyend.xml.in.h:1
msgid "Learning chess"
msgstr "Conoscere gli scacchi"
+#
+# File: ../boards/chess_computer.xml.in.h, line: 4
+# File: ../boards/chess_movelearn.xml.in.h, line: 4
+# File: ../boards/chess_partyend.xml.in.h, line: 4
+# File: ../boards/chess_computer.xml.in.h, line: 4
+# File: ../boards/chess_movelearn.xml.in.h, line: 4
+# File: ../boards/chess_partyend.xml.in.h, line: 4
+# File: ../boards/chess_computer.xml.in.h, line: 4
+# File: ../boards/chess_movelearn.xml.in.h, line: 4
+# File: ../boards/chess_partyend.xml.in.h, line: 4
#: ../boards/chess_computer.xml.in.h:4 ../boards/chess_movelearn.xml.in.h:4
#: ../boards/chess_partyend.xml.in.h:4
msgid "The chess engine is from gnuchess."
msgstr "Il motore degli scacchi è gnuchess."
+#
+# File: ../boards/chess_movelearn.xml.in.h, line: 1
+# File: ../boards/chess_movelearn.xml.in.h, line: 1
+# File: ../boards/chess_movelearn.xml.in.h, line: 1
#: ../boards/chess_movelearn.xml.in.h:1
msgid "Chess training. Catch the computer's pawns."
msgstr "Allenamento a scacchi. Prendi i pedoni del computer."
+#
+# File: ../boards/chess_partyend.xml.in.h, line: 3
+# File: ../boards/chess_partyend.xml.in.h, line: 3
+# File: ../boards/chess_partyend.xml.in.h, line: 3
#: ../boards/chess_partyend.xml.in.h:3
msgid "Play the end of the chess game against the computer"
msgstr "Gioca le chiusure contro il computer"
+#
+# File: ../boards/chronos.xml.in.h, line: 1
+# File: ../boards/chronos.xml.in.h, line: 1
+# File: ../boards/chronos.xml.in.h, line: 1
#: ../boards/chronos.xml.in.h:1
msgid "Chronos"
msgstr "Cronologia"
+#
+# File: ../boards/chronos.xml.in.h, line: 2
+# File: ../boards/chronos.xml.in.h, line: 2
+# File: ../boards/chronos.xml.in.h, line: 2
#: ../boards/chronos.xml.in.h:2
msgid "Drag and Drop the items to organize the story"
msgstr "Trascina e lascia gli oggetti per definire la storia"
+#
+# File: ../boards/chronos.xml.in.h, line: 3
+# File: ../boards/chronos.xml.in.h, line: 3
+# File: ../boards/chronos.xml.in.h, line: 3
#: ../boards/chronos.xml.in.h:3
msgid ""
"Moon photo is copyright NASA. The space sounds come from Tuxpaint and "
@@ -871,55 +1590,122 @@ msgstr ""
"immagini di trasporto sono copyright Franck Doucet. Le date di trasporto "
"sono basate su quelle trovate in &lt;http://www.wikipedia.org&gt;"
+#
+# File: ../boards/chronos.xml.in.h, line: 4
+# File: ../boards/chronos.xml.in.h, line: 4
+# File: ../boards/chronos.xml.in.h, line: 4
#: ../boards/chronos.xml.in.h:4
msgid "Pick from the pictures on the left and put them on the red dots"
msgstr "Prendi le immagini dalla sinistra e spostale sui punti rossi"
+#
+# File: ../boards/chronos.xml.in.h, line: 5
+# File: ../boards/chronos.xml.in.h, line: 5
+# File: ../boards/chronos.xml.in.h, line: 5
#: ../boards/chronos.xml.in.h:5
msgid "Sort the pictures into the order that tells the story"
msgstr "Riordina le immagini per raccontare la storia"
+#
+# File: ../boards/chronos.xml.in.h, line: 6
+# File: ../boards/chronos.xml.in.h, line: 6
+# File: ../boards/chronos.xml.in.h, line: 6
#: ../boards/chronos.xml.in.h:6
msgid "Tell a short story"
msgstr "Racconta una storia breve"
+#
+# File: ../boards/chronos/board1_0.xml.in.h, line: 1
+# File: ../boards/chronos/board1_0.xml.in.h, line: 1
+# File: ../boards/chronos/board1_0.xml.in.h, line: 1
#: ../boards/chronos/board1_0.xml.in.h:1
msgid "Moonwalker"
msgstr "Passeggiata sulla luna"
+#
+# File: ../boards/chronos/board1_1.xml.in.h, line: 1
+# File: ../boards/chronos/board1_1.xml.in.h, line: 1
+# File: ../boards/chronos/board1_1.xml.in.h, line: 1
#: ../boards/chronos/board1_1.xml.in.h:1
msgid "Autumn"
msgstr "Autunno"
+#
+# File: ../boards/chronos/board1_1.xml.in.h, line: 2
+# File: ../boards/chronos/board1_1.xml.in.h, line: 2
+# File: ../boards/chronos/board1_1.xml.in.h, line: 2
#: ../boards/chronos/board1_1.xml.in.h:2
msgid "Spring"
msgstr "Primavera"
+#
+# File: ../boards/chronos/board1_1.xml.in.h, line: 3
+# File: ../boards/chronos/board1_1.xml.in.h, line: 3
+# File: ../boards/chronos/board1_1.xml.in.h, line: 3
#: ../boards/chronos/board1_1.xml.in.h:3
msgid "Summer"
msgstr "Estate"
+#
+# File: ../boards/chronos/board1_1.xml.in.h, line: 4
+# File: ../boards/chronos/board1_1.xml.in.h, line: 4
+# File: ../boards/chronos/board1_1.xml.in.h, line: 4
#: ../boards/chronos/board1_1.xml.in.h:4
msgid "The 4 Seasons"
msgstr "Le 4 stagioni"
+#
+# File: ../boards/chronos/board1_1.xml.in.h, line: 5
+# File: ../boards/chronos/board1_1.xml.in.h, line: 5
+# File: ../boards/chronos/board1_1.xml.in.h, line: 5
#: ../boards/chronos/board1_1.xml.in.h:5
msgid "Winter"
msgstr "Inverno"
+#
+# File: ../boards/chronos/board1_2.xml.in.h, line: 1
+# File: ../boards/chronos/board1_2.xml.in.h, line: 1
+# File: ../boards/chronos/board1_2.xml.in.h, line: 1
#: ../boards/chronos/board1_2.xml.in.h:1
msgid "Gardening"
msgstr "Giardinaggio"
+#
+# File: ../boards/chronos/board2_0.xml.in.h, line: 1
+# File: ../boards/chronos/board2_0.xml.in.h, line: 1
+# File: ../boards/chronos/board2_0.xml.in.h, line: 1
#: ../boards/chronos/board2_0.xml.in.h:1
msgid "Tux and the apple tree"
msgstr "Tux e l'albero di mele"
+#
+# File: ../boards/chronos/board3_0.xml.in.h, line: 1
+# File: ../boards/chronos/board3_2.xml.in.h, line: 1
+# File: ../boards/chronos/board3_4.xml.in.h, line: 1
+# File: ../boards/chronos/board4_2.xml.in.h, line: 1
+# File: ../boards/chronos/board3_0.xml.in.h, line: 1
+# File: ../boards/chronos/board3_2.xml.in.h, line: 1
+# File: ../boards/chronos/board3_4.xml.in.h, line: 1
+# File: ../boards/chronos/board4_2.xml.in.h, line: 1
+# File: ../boards/chronos/board3_0.xml.in.h, line: 1
+# File: ../boards/chronos/board3_2.xml.in.h, line: 1
+# File: ../boards/chronos/board3_4.xml.in.h, line: 1
+# File: ../boards/chronos/board4_2.xml.in.h, line: 1
#: ../boards/chronos/board3_0.xml.in.h:1 ../boards/chronos/board3_2.xml.in.h:1
#: ../boards/chronos/board3_4.xml.in.h:1 ../boards/chronos/board4_2.xml.in.h:1
msgid "1769 Cugnot's fardier"
msgstr "1769 Il carro di Cugnot"
+#
+# File: ../boards/chronos/board3_0.xml.in.h, line: 2
+# File: ../boards/chronos/board3_3.xml.in.h, line: 5
+# File: ../boards/chronos/board3_4.xml.in.h, line: 2
+# File: ../boards/chronos/board3_0.xml.in.h, line: 2
+# File: ../boards/chronos/board3_3.xml.in.h, line: 5
+# File: ../boards/chronos/board3_4.xml.in.h, line: 2
+# File: ../boards/chronos/board3_0.xml.in.h, line: 2
+# File: ../boards/chronos/board3_3.xml.in.h, line: 5
+# File: ../boards/chronos/board3_4.xml.in.h, line: 2
#: ../boards/chronos/board3_0.xml.in.h:2 ../boards/chronos/board3_3.xml.in.h:5
#: ../boards/chronos/board3_4.xml.in.h:2
msgid ""
@@ -929,6 +1715,10 @@ msgstr ""
"1829 La locomotiva di Stephenson\n"
"La locomotiva a vapore"
+#
+# File: ../boards/chronos/board3_0.xml.in.h, line: 4
+# File: ../boards/chronos/board3_0.xml.in.h, line: 4
+# File: ../boards/chronos/board3_0.xml.in.h, line: 4
#: ../boards/chronos/board3_0.xml.in.h:4
msgid ""
"Place each image in the order and\n"
@@ -941,12 +1731,35 @@ msgstr ""
"Se non sei sicuro, verifica online su wikipedia:\n"
"&lt;all'indirizzo http://www.wikipedia.org&gt;"
+#
+# File: ../boards/chronos/board3_0.xml.in.h, line: 8
+# File: ../boards/chronos/board3_1.xml.in.h, line: 6
+# File: ../boards/chronos/board3_2.xml.in.h, line: 5
+# File: ../boards/chronos/board3_3.xml.in.h, line: 7
+# File: ../boards/chronos/board3_4.xml.in.h, line: 4
+# File: ../boards/chronos/board3_0.xml.in.h, line: 8
+# File: ../boards/chronos/board3_1.xml.in.h, line: 6
+# File: ../boards/chronos/board3_2.xml.in.h, line: 5
+# File: ../boards/chronos/board3_3.xml.in.h, line: 7
+# File: ../boards/chronos/board3_4.xml.in.h, line: 4
+# File: ../boards/chronos/board3_0.xml.in.h, line: 8
+# File: ../boards/chronos/board3_1.xml.in.h, line: 6
+# File: ../boards/chronos/board3_2.xml.in.h, line: 5
+# File: ../boards/chronos/board3_3.xml.in.h, line: 7
+# File: ../boards/chronos/board3_4.xml.in.h, line: 4
#: ../boards/chronos/board3_0.xml.in.h:8 ../boards/chronos/board3_1.xml.in.h:6
#: ../boards/chronos/board3_2.xml.in.h:5 ../boards/chronos/board3_3.xml.in.h:7
#: ../boards/chronos/board3_4.xml.in.h:4
msgid "Transportation"
msgstr "Trasporto"
+#
+# File: ../boards/chronos/board3_1.xml.in.h, line: 1
+# File: ../boards/chronos/board3_3.xml.in.h, line: 1
+# File: ../boards/chronos/board3_1.xml.in.h, line: 1
+# File: ../boards/chronos/board3_3.xml.in.h, line: 1
+# File: ../boards/chronos/board3_1.xml.in.h, line: 1
+# File: ../boards/chronos/board3_3.xml.in.h, line: 1
#: ../boards/chronos/board3_1.xml.in.h:1 ../boards/chronos/board3_3.xml.in.h:1
msgid ""
"1783 Montgolfier brothers'\n"
@@ -955,11 +1768,28 @@ msgstr ""
"1783 La mongolfiera\n"
"dei fratelli Mongolfiera"
+#
+# File: ../boards/chronos/board3_1.xml.in.h, line: 3
+# File: ../boards/chronos/board3_2.xml.in.h, line: 4
+# File: ../boards/chronos/board3_4.xml.in.h, line: 3
+# File: ../boards/chronos/board4_0.xml.in.h, line: 1
+# File: ../boards/chronos/board3_1.xml.in.h, line: 3
+# File: ../boards/chronos/board3_2.xml.in.h, line: 4
+# File: ../boards/chronos/board3_4.xml.in.h, line: 3
+# File: ../boards/chronos/board4_0.xml.in.h, line: 1
+# File: ../boards/chronos/board3_1.xml.in.h, line: 3
+# File: ../boards/chronos/board3_2.xml.in.h, line: 4
+# File: ../boards/chronos/board3_4.xml.in.h, line: 3
+# File: ../boards/chronos/board4_0.xml.in.h, line: 1
#: ../boards/chronos/board3_1.xml.in.h:3 ../boards/chronos/board3_2.xml.in.h:4
#: ../boards/chronos/board3_4.xml.in.h:3 ../boards/chronos/board4_0.xml.in.h:1
msgid "1880 Clement Ader's Eole"
msgstr "1880 Il monoplano Eole di Clement Ader"
+#
+# File: ../boards/chronos/board3_1.xml.in.h, line: 4
+# File: ../boards/chronos/board3_1.xml.in.h, line: 4
+# File: ../boards/chronos/board3_1.xml.in.h, line: 4
#: ../boards/chronos/board3_1.xml.in.h:4
msgid ""
"1906 Paul Cornu\n"
@@ -968,16 +1798,31 @@ msgstr ""
"1906 Paul Cornu\n"
"Il primo volo dell'elicottero"
+#
+# File: ../boards/chronos/board3_2.xml.in.h, line: 2
+# File: ../boards/chronos/board3_3.xml.in.h, line: 3
+# File: ../boards/chronos/board3_2.xml.in.h, line: 2
+# File: ../boards/chronos/board3_3.xml.in.h, line: 3
+# File: ../boards/chronos/board3_2.xml.in.h, line: 2
+# File: ../boards/chronos/board3_3.xml.in.h, line: 3
#: ../boards/chronos/board3_2.xml.in.h:2 ../boards/chronos/board3_3.xml.in.h:3
msgid ""
"1791 Comte de Sivrac's\n"
"Celerifere"
msgstr "1791 Il celeripede del conte di Sivrac"
+#
+# File: ../boards/chronos/board4_0.xml.in.h, line: 2
+# File: ../boards/chronos/board4_0.xml.in.h, line: 2
+# File: ../boards/chronos/board4_0.xml.in.h, line: 2
#: ../boards/chronos/board4_0.xml.in.h:2
msgid "1903 The Wright brothers' Flyer III"
msgstr "1903 Il flyer III dei fratelli Wright"
+#
+# File: ../boards/chronos/board4_0.xml.in.h, line: 3
+# File: ../boards/chronos/board4_0.xml.in.h, line: 3
+# File: ../boards/chronos/board4_0.xml.in.h, line: 3
#: ../boards/chronos/board4_0.xml.in.h:3
msgid ""
"1909 Louis Bleriot crosses\n"
@@ -986,10 +1831,21 @@ msgstr ""
"1909 Louis Bleriot attraversa\n"
"il Canale della Manica"
+#
+# File: ../boards/chronos/board4_0.xml.in.h, line: 5
+# File: ../boards/chronos/board4_1.xml.in.h, line: 7
+# File: ../boards/chronos/board4_0.xml.in.h, line: 5
+# File: ../boards/chronos/board4_1.xml.in.h, line: 7
+# File: ../boards/chronos/board4_0.xml.in.h, line: 5
+# File: ../boards/chronos/board4_1.xml.in.h, line: 7
#: ../boards/chronos/board4_0.xml.in.h:5 ../boards/chronos/board4_1.xml.in.h:7
msgid "Aviation"
msgstr "L'aviazione"
+#
+# File: ../boards/chronos/board4_1.xml.in.h, line: 1
+# File: ../boards/chronos/board4_1.xml.in.h, line: 1
+# File: ../boards/chronos/board4_1.xml.in.h, line: 1
#: ../boards/chronos/board4_1.xml.in.h:1
msgid ""
"1927 Charles Lindbergh\n"
@@ -998,6 +1854,10 @@ msgstr ""
"1927 Charles Lindbergh\n"
"attraversa l'oceano Atlantico"
+#
+# File: ../boards/chronos/board4_1.xml.in.h, line: 3
+# File: ../boards/chronos/board4_1.xml.in.h, line: 3
+# File: ../boards/chronos/board4_1.xml.in.h, line: 3
#: ../boards/chronos/board4_1.xml.in.h:3
msgid ""
"1934 Hélène Boucher's\n"
@@ -1006,6 +1866,10 @@ msgstr ""
"1934 il record di velocità di 444km/h\n"
"di Hélène Boucher"
+#
+# File: ../boards/chronos/board4_1.xml.in.h, line: 5
+# File: ../boards/chronos/board4_1.xml.in.h, line: 5
+# File: ../boards/chronos/board4_1.xml.in.h, line: 5
#: ../boards/chronos/board4_1.xml.in.h:5
msgid ""
"1947 Chuck Yeager\n"
@@ -1014,10 +1878,18 @@ msgstr ""
"1947 Chuck Yeager rompe\n"
"la barriera del suono"
+#
+# File: ../boards/chronos/board4_2.xml.in.h, line: 2
+# File: ../boards/chronos/board4_2.xml.in.h, line: 2
+# File: ../boards/chronos/board4_2.xml.in.h, line: 2
#: ../boards/chronos/board4_2.xml.in.h:2
msgid "1878 Léon Bollé's \"La Mancelle\""
msgstr "1878 \"La Mancelle\" di Léon Bollé"
+#
+# File: ../boards/chronos/board4_2.xml.in.h, line: 3
+# File: ../boards/chronos/board4_2.xml.in.h, line: 3
+# File: ../boards/chronos/board4_2.xml.in.h, line: 3
#: ../boards/chronos/board4_2.xml.in.h:3
msgid ""
"1885 The first petrol\n"
@@ -1026,26 +1898,50 @@ msgstr ""
"La prima auto a benzina\n"
"costruita da Benz"
+#
+# File: ../boards/chronos/board4_2.xml.in.h, line: 5
+# File: ../boards/chronos/board4_2.xml.in.h, line: 5
+# File: ../boards/chronos/board4_2.xml.in.h, line: 5
#: ../boards/chronos/board4_2.xml.in.h:5
msgid "The car"
msgstr "L'automobile"
+#
+# File: ../boards/chronos/board4_3.xml.in.h, line: 1
+# File: ../boards/chronos/board4_3.xml.in.h, line: 1
+# File: ../boards/chronos/board4_3.xml.in.h, line: 1
#: ../boards/chronos/board4_3.xml.in.h:1
msgid "1899 Renault \"voiturette\""
msgstr "1899 renault \"voiturette\""
+#
+# File: ../boards/chronos/board4_3.xml.in.h, line: 2
+# File: ../boards/chronos/board4_3.xml.in.h, line: 2
+# File: ../boards/chronos/board4_3.xml.in.h, line: 2
#: ../boards/chronos/board4_3.xml.in.h:2
msgid "1923 Lancia Lambda"
msgstr "1923 Lancia Lambda"
+#
+# File: ../boards/chronos/board4_3.xml.in.h, line: 3
+# File: ../boards/chronos/board4_3.xml.in.h, line: 3
+# File: ../boards/chronos/board4_3.xml.in.h, line: 3
#: ../boards/chronos/board4_3.xml.in.h:3
msgid "1955 Citroën ds 19"
msgstr "1955 Citroën ds 19"
+#
+# File: ../boards/chronos/board4_3.xml.in.h, line: 4
+# File: ../boards/chronos/board4_3.xml.in.h, line: 4
+# File: ../boards/chronos/board4_3.xml.in.h, line: 4
#: ../boards/chronos/board4_3.xml.in.h:4
msgid "Cars"
msgstr "Automobili"
+#
+# File: ../boards/click_on_letter.xml.in.h, line: 1
+# File: ../boards/click_on_letter.xml.in.h, line: 1
+# File: ../boards/click_on_letter.xml.in.h, line: 1
#: ../boards/click_on_letter.xml.in.h:1
msgid ""
"A letter is spoken. Click on the matching letter in the main area. You can "
@@ -1055,26 +1951,50 @@ msgstr ""
"principale. Potrai ascoltarla ancora cliccando sull'immagine della bocca nel "
"pannello orizzontale in basso."
+#
+# File: ../boards/click_on_letter.xml.in.h, line: 2
+# File: ../boards/click_on_letter.xml.in.h, line: 2
+# File: ../boards/click_on_letter.xml.in.h, line: 2
#: ../boards/click_on_letter.xml.in.h:2
msgid "Click on a letter"
msgstr "Fai clic su una lettera"
+#
+# File: ../boards/click_on_letter.xml.in.h, line: 3
+# File: ../boards/click_on_letter.xml.in.h, line: 3
+# File: ../boards/click_on_letter.xml.in.h, line: 3
#: ../boards/click_on_letter.xml.in.h:3
msgid "Letter-name recognition"
msgstr "Riconosci la lettera"
+#
+# File: ../boards/click_on_letter.xml.in.h, line: 4
+# File: ../boards/click_on_letter.xml.in.h, line: 4
+# File: ../boards/click_on_letter.xml.in.h, line: 4
#: ../boards/click_on_letter.xml.in.h:4
msgid "Listen to a letter and click on the right one"
msgstr "Ascolta una lettera e fai clic con il mouse sulla stessa"
+#
+# File: ../boards/click_on_letter.xml.in.h, line: 5
+# File: ../boards/click_on_letter.xml.in.h, line: 5
+# File: ../boards/click_on_letter.xml.in.h, line: 5
#: ../boards/click_on_letter.xml.in.h:5
msgid "Visual letter-recognition. Can move the mouse."
msgstr "Riconoscimento delle lettere. Saper muovere il mouse."
+#
+# File: ../boards/clickgame.xml.in.h, line: 1
+# File: ../boards/clickgame.xml.in.h, line: 1
+# File: ../boards/clickgame.xml.in.h, line: 1
#: ../boards/clickgame.xml.in.h:1
msgid "Click On Me"
msgstr "Fai clic su di me"
+#
+# File: ../boards/clickgame.xml.in.h, line: 2
+# File: ../boards/clickgame.xml.in.h, line: 2
+# File: ../boards/clickgame.xml.in.h, line: 2
#: ../boards/clickgame.xml.in.h:2
msgid ""
"Fish are taken from the Unix utility xfishtank.\n"
@@ -1112,20 +2032,36 @@ msgstr ""
"Luogo: sconosciuto (immagine nur03011)\n"
"Luogo sconosciuto (immagine nur03013)"
+#
+# File: ../boards/clickgame.xml.in.h, line: 14
+# File: ../boards/clickgame.xml.in.h, line: 14
+# File: ../boards/clickgame.xml.in.h, line: 14
#: ../boards/clickgame.xml.in.h:14
msgid ""
"Left-Click with the mouse on all the swimming fish before they leave the "
"fishtank"
msgstr "Fai clic su tutti i pesci che nuotano prima che lascino la vasca"
+#
+# File: ../boards/clickgame.xml.in.h, line: 15
+# File: ../boards/clickgame.xml.in.h, line: 15
+# File: ../boards/clickgame.xml.in.h, line: 15
#: ../boards/clickgame.xml.in.h:15
msgid "Motor coordination: moving and clicking the mouse."
msgstr "Coordinazione motoria: Movimento del mouse e clic."
+#
+# File: ../boards/clickgame.xml.in.h, line: 17
+# File: ../boards/clickgame.xml.in.h, line: 17
+# File: ../boards/clickgame.xml.in.h, line: 17
#: ../boards/clickgame.xml.in.h:17
msgid "Use the left mouse button to click on the moving fish."
msgstr "Fai clic sul pesce che si muove."
+#
+# File: ../boards/clockgame.xml.in.h, line: 1
+# File: ../boards/clockgame.xml.in.h, line: 1
+# File: ../boards/clockgame.xml.in.h, line: 1
#: ../boards/clockgame.xml.in.h:1
msgid ""
"Distinguish between time-units (hour, minute and second). Set and display "
@@ -1134,14 +2070,26 @@ msgstr ""
"Distingui la differenza tra le unità di tempo (ore, minuti e secondi). "
"Imposta l'ora sull'orologio."
+#
+# File: ../boards/clockgame.xml.in.h, line: 2
+# File: ../boards/clockgame.xml.in.h, line: 2
+# File: ../boards/clockgame.xml.in.h, line: 2
#: ../boards/clockgame.xml.in.h:2
msgid "Learn how to tell the time"
msgstr "Impara a dire l'ora"
+#
+# File: ../boards/clockgame.xml.in.h, line: 3
+# File: ../boards/clockgame.xml.in.h, line: 3
+# File: ../boards/clockgame.xml.in.h, line: 3
#: ../boards/clockgame.xml.in.h:3
msgid "Learning Clock"
msgstr "Conosci l'orologio"
+#
+# File: ../boards/clockgame.xml.in.h, line: 4
+# File: ../boards/clockgame.xml.in.h, line: 4
+# File: ../boards/clockgame.xml.in.h, line: 4
#: ../boards/clockgame.xml.in.h:4
msgid ""
"Set the clock to the time given, in the time-units shown (hours:minutes or "
@@ -1152,26 +2100,50 @@ msgstr ""
"mostrata in numeri (ore: minuti oppure ore:minuti:secondi). Puoi cambiare "
"l'ora facendo clic sulle lancette e muovendo il mouse."
+#
+# File: ../boards/clockgame.xml.in.h, line: 5
+# File: ../boards/clockgame.xml.in.h, line: 5
+# File: ../boards/clockgame.xml.in.h, line: 5
#: ../boards/clockgame.xml.in.h:5
msgid "The concept of time. Reading the time."
msgstr "Il concetto del tempo. Leggere l'ora"
+#
+# File: ../boards/colors.xml.in.h, line: 1
+# File: ../boards/colors.xml.in.h, line: 1
+# File: ../boards/colors.xml.in.h, line: 1
#: ../boards/colors.xml.in.h:1
msgid "Can move the mouse."
msgstr "Saper muovere il mouse."
+#
+# File: ../boards/colors.xml.in.h, line: 2
+# File: ../boards/colors.xml.in.h, line: 2
+# File: ../boards/colors.xml.in.h, line: 2
#: ../boards/colors.xml.in.h:2
msgid "Click on the right color"
msgstr "Fai clic sul colore giusto"
+#
+# File: ../boards/colors.xml.in.h, line: 3
+# File: ../boards/colors.xml.in.h, line: 3
+# File: ../boards/colors.xml.in.h, line: 3
#: ../boards/colors.xml.in.h:3
msgid "Colors"
msgstr "Colori"
+#
+# File: ../boards/colors.xml.in.h, line: 4
+# File: ../boards/colors.xml.in.h, line: 4
+# File: ../boards/colors.xml.in.h, line: 4
#: ../boards/colors.xml.in.h:4
msgid "Listen to the color and click on the matching duck."
msgstr "Ascolta il nome del colore e fai clic sul pupazzo dello stesso colore."
+#
+# File: ../boards/colors.xml.in.h, line: 5
+# File: ../boards/colors.xml.in.h, line: 5
+# File: ../boards/colors.xml.in.h, line: 5
#: ../boards/colors.xml.in.h:5
msgid ""
"This board teaches you to recognize different colors. When you hear the name "
@@ -1180,44 +2152,78 @@ msgstr ""
"Questa tavola insegna a riconoscere diversi colori. Quando senti pronunciare "
"il nome di un colore fai clic sul pupazzo con il vestito di quel colore."
+#
+# File: ../boards/colors_group.xml.in.h, line: 1
+# File: ../boards/colors_group.xml.in.h, line: 1
+# File: ../boards/colors_group.xml.in.h, line: 1
#: ../boards/colors_group.xml.in.h:1
msgid "Colors based activities."
msgstr "Attività basate sui colori."
+#
+# File: ../boards/colors_group.xml.in.h, line: 2
+# File: ../boards/colors_group.xml.in.h, line: 2
+# File: ../boards/colors_group.xml.in.h, line: 2
#: ../boards/colors_group.xml.in.h:2
msgid "Go to Color activities"
msgstr "Vai alle attività con i colori"
+#
+# File: ../boards/computer.xml.in.h, line: 1
+# File: ../boards/computer.xml.in.h, line: 1
+# File: ../boards/computer.xml.in.h, line: 1
#: ../boards/computer.xml.in.h:1
msgid "Discover the Computer"
msgstr "Scopri il computer."
+#
+# File: ../boards/computer.xml.in.h, line: 2
+# File: ../boards/computer.xml.in.h, line: 2
+# File: ../boards/computer.xml.in.h, line: 2
#: ../boards/computer.xml.in.h:2
msgid "Play with computer peripherals."
msgstr "Gioca con le periferiche del computer."
-#: ../boards/connect4.xml.in.h:1
+#
+# File: ../boards/connect4.xml.in.h, line: 1
+# File: ../boards/connect4.xml.in.h, line: 1
+# File: ../boards/connect4.xml.in.h, line: 1
+#: ../boards/connect4.xml.in.h:1 ../boards/connect4-2players.xml.in.h:1
msgid "Arrange four coins in a row"
msgstr "Disponi quattro monete in fila"
-#: ../boards/connect4.xml.in.h:2
-msgid "Click anywhere in the line where you want to drop a piece"
-msgstr "Fai clic sulla linea dove vuoi per togliere un pezzo"
+#: ../boards/connect4.xml.in.h:2 ../boards/connect4-2players.xml.in.h:2
+msgid ""
+"Click anywhere in the line where you want to drop a piece. Alternatively, "
+"you can use the arrow keys to move and the down, or space key to drop a "
+"piece."
+msgstr ""
+#
+# File: ../boards/connect4.xml.in.h, line: 3
+# File: ../boards/connect4.xml.in.h, line: 3
+# File: ../boards/connect4.xml.in.h, line: 3
#: ../boards/connect4.xml.in.h:3
msgid "Connect 4"
msgstr "Forza 4"
-#: ../boards/connect4.xml.in.h:4
+#
+# File: ../boards/connect4.xml.in.h, line: 4
+# File: ../boards/connect4.xml.in.h, line: 4
+# File: ../boards/connect4.xml.in.h, line: 4
+#: ../boards/connect4.xml.in.h:4 ../boards/connect4-2players.xml.in.h:4
msgid ""
-"Create a line of 4 pieces either horizontally (lying down)\n"
-"or vertically (standing up)"
+"Create a line of 4 pieces either horizontally (lying down) or vertically "
+"(standing up)"
msgstr ""
-"Crea una linea con 4 pezzi disponendoli orizzontalmente (uno accanto "
-"all'altro)\n"
-"o verticalmente (uno sull'altro)"
+"Cerca di allineare 4 pezzi disponendoli orizzontalmente (uno accanto "
+"all'altro) o verticalmente (uno sull'altro)"
-#: ../boards/connect4.xml.in.h:6
+#
+# File: ../boards/connect4.xml.in.h, line: 5
+# File: ../boards/connect4.xml.in.h, line: 5
+# File: ../boards/connect4.xml.in.h, line: 5
+#: ../boards/connect4.xml.in.h:5
msgid ""
"Laurent Lacheny. Images and Artificial Intelligence taken from project "
"4stattack by Jeroen Vloothuis. The original project can be found on &lt;"
@@ -1227,23 +2233,80 @@ msgstr ""
"progetto 4stattack di Jeroen Vloothuis. Il progetto originale può essere "
"trovato su &lt;http://forcedattack.sourceforge.net&gt;"
+#
+# File: ../boards/searace.xml.in.h, line: 4
+# File: ../boards/searace.xml.in.h, line: 4
+# File: ../boards/searace.xml.in.h, line: 4
+#: ../boards/connect4-2players.xml.in.h:3
+#, fuzzy
+msgid "Connect 4 (2 Players)"
+msgstr "La gara sul mare (2 giocatori)"
+
+#
+# File: ../boards/connect4.xml.in.h, line: 5
+# File: ../boards/connect4.xml.in.h, line: 5
+# File: ../boards/connect4.xml.in.h, line: 5
+#: ../boards/connect4-2players.xml.in.h:6
+#, fuzzy
+msgid ""
+"The original code was written in 2005 by Laurent Lacheny. In 2006, Miguel de "
+"Izarra made the two players game. Images and Artificial Intelligence taken "
+"from project 4stattack by Jeroen Vloothuis. The original project can be "
+"found on &lt;http://forcedattack.sourceforge.net&gt;"
+msgstr ""
+"Laurent Lacheny. Immagini e Intelligenza artificiale sono state prese dal "
+"progetto 4stattack di Jeroen Vloothuis. Il progetto originale può essere "
+"trovato su &lt;http://forcedattack.sourceforge.net&gt;"
+
+#
+# File: ../boards/crane.xml.in.h, line: 1
+# File: ../boards/crane.xml.in.h, line: 1
+# File: ../boards/crane.xml.in.h, line: 1
#: ../boards/crane.xml.in.h:1
msgid "Build the same model"
msgstr "Costruisci lo stesso modello"
+#
+# File: ../boards/crane.xml.in.h, line: 2
+# File: ../boards/crane.xml.in.h, line: 2
+# File: ../boards/crane.xml.in.h, line: 2
#: ../boards/crane.xml.in.h:2
msgid "Drive the crane and copy the model"
msgstr "Guida la gru e copia il modello"
+#
+# File: ../boards/crane.xml.in.h, line: 3
+# File: ../boards/erase.xml.in.h, line: 2
+# File: ../boards/erase_clic.xml.in.h, line: 5
+# File: ../boards/erase_double_clic.xml.in.h, line: 5
+# File: ../boards/crane.xml.in.h, line: 3
+# File: ../boards/erase.xml.in.h, line: 2
+# File: ../boards/erase_clic.xml.in.h, line: 5
+# File: ../boards/erase_double_clic.xml.in.h, line: 5
+# File: ../boards/crane.xml.in.h, line: 3
+# File: ../boards/erase.xml.in.h, line: 2
+# File: ../boards/erase_clic.xml.in.h, line: 5
+# File: ../boards/erase_double_clic.xml.in.h, line: 5
#: ../boards/crane.xml.in.h:3 ../boards/erase.xml.in.h:2
#: ../boards/erase_clic.xml.in.h:5 ../boards/erase_double_clic.xml.in.h:5
msgid "Motor-coordination"
msgstr "Coordinazione motoria"
+#
+# File: ../boards/crane.xml.in.h, line: 4
+# File: ../boards/hanoi_real.xml.in.h, line: 2
+# File: ../boards/crane.xml.in.h, line: 4
+# File: ../boards/hanoi_real.xml.in.h, line: 2
+# File: ../boards/crane.xml.in.h, line: 4
+# File: ../boards/hanoi_real.xml.in.h, line: 2
#: ../boards/crane.xml.in.h:4 ../boards/hanoi_real.xml.in.h:2
msgid "Mouse manipulation"
msgstr "Utilizzo del mouse"
+#
+# File: ../boards/crane.xml.in.h, line: 5
+# File: ../boards/crane.xml.in.h, line: 5
+# File: ../boards/crane.xml.in.h, line: 5
#: ../boards/crane.xml.in.h:5
msgid ""
"Move the items in the bottom left frame to copy their position in the top "
@@ -1254,48 +2317,92 @@ msgstr ""
"nel riquadro in alto a destra. Sotto la gru troverai 4 frecce che ti faranno "
"muovere gli oggetti. Seleziona l'oggetto da muovere facendoci clic."
+#
+# File: ../boards/discovery.xml.in.h, line: 1
+# File: ../boards/discovery.xml.in.h, line: 1
+# File: ../boards/discovery.xml.in.h, line: 1
#: ../boards/discovery.xml.in.h:1
msgid "Colors, sounds, memory..."
msgstr "Colori, suoni, memoria..."
+#
+# File: ../boards/discovery.xml.in.h, line: 2
+# File: ../boards/discovery.xml.in.h, line: 2
+# File: ../boards/discovery.xml.in.h, line: 2
#: ../boards/discovery.xml.in.h:2
msgid "Go to discovery activities"
msgstr "Vai alle attività di scoperta"
+#
+# File: ../boards/doubleentry.xml.in.h, line: 1
+# File: ../boards/doubleentry.xml.in.h, line: 1
+# File: ../boards/doubleentry.xml.in.h, line: 1
#: ../boards/doubleentry.xml.in.h:1
msgid "Basic counting skills"
msgstr "Abilità di base sul contare"
+#
+# File: ../boards/doubleentry.xml.in.h, line: 2
+# File: ../boards/doubleentry.xml.in.h, line: 2
+# File: ../boards/doubleentry.xml.in.h, line: 2
#: ../boards/doubleentry.xml.in.h:2
msgid "Double-entry table"
msgstr "Tavola degli incroci"
+#
+# File: ../boards/doubleentry.xml.in.h, line: 3
+# File: ../boards/doubleentry.xml.in.h, line: 3
+# File: ../boards/doubleentry.xml.in.h, line: 3
#: ../boards/doubleentry.xml.in.h:3
msgid "Drag and Drop each proposed item on its destination"
msgstr "Trascina e lascia ciascun oggetto al posto giusto."
+#
+# File: ../boards/doubleentry.xml.in.h, line: 4
+# File: ../boards/doubleentry.xml.in.h, line: 4
+# File: ../boards/doubleentry.xml.in.h, line: 4
#: ../boards/doubleentry.xml.in.h:4
msgid "Drag and Drop the items in the double-entry table"
msgstr "Trascina e lascia gli oggetti nella tavola degli incroci"
+#
+# File: ../boards/doubleentry.xml.in.h, line: 5
+# File: ../boards/doubleentry.xml.in.h, line: 5
+# File: ../boards/doubleentry.xml.in.h, line: 5
#: ../boards/doubleentry.xml.in.h:5
msgid ""
"Move the items on the left to their proper position in the double-entry "
"table."
msgstr "Sposta gli oggetti che trovi a sinistra nell'incrocio giusto."
+#
+# File: ../boards/doubleentry/board3_0.xml.in.h, line: 1
+# File: ../boards/doubleentry/board3_0.xml.in.h, line: 1
+# File: ../boards/doubleentry/board3_0.xml.in.h, line: 1
#: ../boards/doubleentry/board3_0.xml.in.h:1
msgid "Click on an item and listen to its target position"
msgstr "Fai clic su un oggetto e ascolta quale è la posizione in cui metterlo"
+#
+# File: ../boards/draw.xml.in.h, line: 1
+# File: ../boards/draw.xml.in.h, line: 1
+# File: ../boards/draw.xml.in.h, line: 1
#: ../boards/draw.xml.in.h:1
msgid "A creative board where you can draw freely"
msgstr "Sezione creativa dove puoi disegnare liberamente"
+#
+# File: ../boards/draw.xml.in.h, line: 2
+# File: ../boards/draw.xml.in.h, line: 2
+# File: ../boards/draw.xml.in.h, line: 2
#: ../boards/draw.xml.in.h:2
msgid "A simple vector-drawing tool"
msgstr "Un semplice strumento per la grafica vettoriale"
+#
+# File: ../boards/draw.xml.in.h, line: 3
+# File: ../boards/draw.xml.in.h, line: 3
+# File: ../boards/draw.xml.in.h, line: 3
#: ../boards/draw.xml.in.h:3
msgid ""
"In this game, children can draw freely. The goal is to discover how to "
@@ -1306,6 +2413,10 @@ msgstr ""
"scoprire come si possono creare disegni graziosi con le forme di base: "
"rettangoli, ellissi e linee."
+#
+# File: ../boards/draw.xml.in.h, line: 5
+# File: ../boards/draw.xml.in.h, line: 5
+# File: ../boards/draw.xml.in.h, line: 5
#: ../boards/draw.xml.in.h:5
msgid ""
"Select a drawing tool on the left, and a color down the bottom, then click "
@@ -1317,10 +2428,18 @@ msgstr ""
"creare una nuova figura. Per andare più veloce, puoi usare il tasto centrale "
"del mouse per cancellare un oggetto."
+#
+# File: ../boards/electric.xml.in.h, line: 1
+# File: ../boards/electric.xml.in.h, line: 1
+# File: ../boards/electric.xml.in.h, line: 1
#: ../boards/electric.xml.in.h:1
msgid "Create and simulate an electric schema"
msgstr "Crea e simula uno schema elettrico"
+#
+# File: ../boards/electric.xml.in.h, line: 2
+# File: ../boards/electric.xml.in.h, line: 2
+# File: ../boards/electric.xml.in.h, line: 2
#: ../boards/electric.xml.in.h:2
msgid ""
"Drag electrical components from the selector and drop them in the working "
@@ -1335,15 +2454,27 @@ msgid ""
msgstr ""
"Trascina i componenti elettrici dal selettore e lasciali nell'area di lavoro."
+#
+# File: ../boards/electric.xml.in.h, line: 3
+# File: ../boards/electric.xml.in.h, line: 3
+# File: ../boards/electric.xml.in.h, line: 3
#: ../boards/electric.xml.in.h:3
msgid "Electricity"
msgstr "Elettricità"
+#
+# File: ../boards/electric.xml.in.h, line: 4
+# File: ../boards/electric.xml.in.h, line: 4
+# File: ../boards/electric.xml.in.h, line: 4
#: ../boards/electric.xml.in.h:4
msgid "Freely create an electric schema with a real time simulation of it."
msgstr ""
"Crea liberamente uno schema elettrico con una simulazione in tempo reale."
+#
+# File: ../boards/electric.xml.in.h, line: 5
+# File: ../boards/electric.xml.in.h, line: 5
+# File: ../boards/electric.xml.in.h, line: 5
#: ../boards/electric.xml.in.h:5
msgid ""
"GCompris uses the Gnucap electric simulator as a backend. You can get more "
@@ -1353,18 +2484,34 @@ msgstr ""
"informazioni su gnucap all'indirizzo &lt;http://geda.seul.org/tools/gnucap/"
"&gt;."
+#
+# File: ../boards/electric.xml.in.h, line: 6
+# File: ../boards/electric.xml.in.h, line: 6
+# File: ../boards/electric.xml.in.h, line: 6
#: ../boards/electric.xml.in.h:6
msgid "Requires some basic understanding of the concept of electricity."
msgstr "Richiede alcune conoscenze di base del concetto di elettricità."
+#
+# File: ../boards/enumerate.xml.in.h, line: 1
+# File: ../boards/enumerate.xml.in.h, line: 1
+# File: ../boards/enumerate.xml.in.h, line: 1
#: ../boards/enumerate.xml.in.h:1
msgid "Basic enumeration"
msgstr "Numerazione di base"
+#
+# File: ../boards/enumerate.xml.in.h, line: 2
+# File: ../boards/enumerate.xml.in.h, line: 2
+# File: ../boards/enumerate.xml.in.h, line: 2
#: ../boards/enumerate.xml.in.h:2
msgid "Count the items"
msgstr "Conta gli oggetti"
+#
+# File: ../boards/enumerate.xml.in.h, line: 3
+# File: ../boards/enumerate.xml.in.h, line: 3
+# File: ../boards/enumerate.xml.in.h, line: 3
#: ../boards/enumerate.xml.in.h:3
msgid ""
"First, properly organize the items so that you can count them. Then, select "
@@ -1375,15 +2522,36 @@ msgstr ""
"tipo di oggetto contato nell'area a destra in basso. Inserisci la risposta "
"con la tastiera e premi il pulsante \"OK\" o il tasto \"invio\"."
+#
+# File: ../boards/enumerate.xml.in.h, line: 4
+# File: ../boards/planegame.xml.in.h, line: 5
+# File: ../src/boards/enumerate.c, line: 89
+# File: ../boards/enumerate.xml.in.h, line: 4
+# File: ../boards/planegame.xml.in.h, line: 5
+# File: ../src/boards/enumerate.c, line: 89
+# File: ../boards/enumerate.xml.in.h, line: 4
+# File: ../boards/planegame.xml.in.h, line: 5
+# File: ../src/boards/enumerate.c, line: 89
#: ../boards/enumerate.xml.in.h:4 ../boards/planegame.xml.in.h:5
-#: ../src/boards/enumerate.c:92
+#: ../src/boards/enumerate.c:89
msgid "Numeration training"
msgstr "Pratica con la numerazione"
-#: ../boards/enumerate.xml.in.h:5 ../src/boards/enumerate.c:93
+#
+# File: ../boards/enumerate.xml.in.h, line: 5
+# File: ../src/boards/enumerate.c, line: 90
+# File: ../boards/enumerate.xml.in.h, line: 5
+# File: ../src/boards/enumerate.c, line: 90
+# File: ../boards/enumerate.xml.in.h, line: 5
+# File: ../src/boards/enumerate.c, line: 90
+#: ../boards/enumerate.xml.in.h:5 ../src/boards/enumerate.c:90
msgid "Place the items in the best way to count them"
msgstr "Posiziona gli oggetti nel modo migliore per contarli"
+#
+# File: ../boards/erase.xml.in.h, line: 1
+# File: ../boards/erase.xml.in.h, line: 1
+# File: ../boards/erase.xml.in.h, line: 1
#: ../boards/erase.xml.in.h:1
msgid ""
"Animal pictures are taken from the Animal Photography Page of Ralf Schmode "
@@ -1396,59 +2564,124 @@ msgstr ""
"gentilmente dato a GCompris l'autorizzazione per includere le loro foto. "
"Molte grazie."
-#: ../boards/erase.xml.in.h:4 ../src/boards/erase.c:110
-#: ../src/boards/machpuzzle.c:92
+#
+# File: ../boards/erase.xml.in.h, line: 4
+# File: ../src/boards/erase.c, line: 113
+# File: ../src/boards/machpuzzle.c, line: 88
+# File: ../boards/erase.xml.in.h, line: 4
+# File: ../src/boards/erase.c, line: 113
+# File: ../src/boards/machpuzzle.c, line: 88
+# File: ../boards/erase.xml.in.h, line: 4
+# File: ../src/boards/erase.c, line: 113
+# File: ../src/boards/machpuzzle.c, line: 88
+#: ../boards/erase.xml.in.h:4 ../src/boards/erase.c:117
+#: ../src/boards/machpuzzle.c:88
msgid "Move the mouse"
msgstr "Muovi il mouse"
-#: ../boards/erase.xml.in.h:5 ../src/boards/erase.c:111
+#
+# File: ../boards/erase.xml.in.h, line: 5
+# File: ../src/boards/erase.c, line: 114
+# File: ../boards/erase.xml.in.h, line: 5
+# File: ../src/boards/erase.c, line: 114
+# File: ../boards/erase.xml.in.h, line: 5
+# File: ../src/boards/erase.c, line: 114
+#: ../boards/erase.xml.in.h:5 ../src/boards/erase.c:118
msgid "Move the mouse to erase the area and discover the background"
msgstr "Muovi il mouse per scoprire lo sfondo"
+#
+# File: ../boards/erase.xml.in.h, line: 6
+# File: ../boards/erase.xml.in.h, line: 6
+# File: ../boards/erase.xml.in.h, line: 6
#: ../boards/erase.xml.in.h:6
msgid "Move the mouse until all the blocks disappear."
msgstr "Muovi il mouse affinché tutti i blocchi spariscano."
+#
+# File: ../boards/erase_clic.xml.in.h, line: 2
+# File: ../boards/erase_clic.xml.in.h, line: 2
+# File: ../boards/erase_clic.xml.in.h, line: 2
#: ../boards/erase_clic.xml.in.h:2
msgid "Click the mouse"
msgstr "Fai clic col mouse"
+#
+# File: ../boards/erase_clic.xml.in.h, line: 3
+# File: ../boards/erase_clic.xml.in.h, line: 3
+# File: ../boards/erase_clic.xml.in.h, line: 3
#: ../boards/erase_clic.xml.in.h:3
msgid "Click the mouse on rectangles until all the blocks disappear."
msgstr "Fai clic sui rettangoli affinché tutti i blocchi spariscano."
+#
+# File: ../boards/erase_clic.xml.in.h, line: 4
+# File: ../boards/erase_clic.xml.in.h, line: 4
+# File: ../boards/erase_clic.xml.in.h, line: 4
#: ../boards/erase_clic.xml.in.h:4
msgid "Click the mouse to erase the area and discover the background"
msgstr "Fai clic con il mouse per scoprire lo sfondo"
+#
+# File: ../boards/erase_double_clic.xml.in.h, line: 2
+# File: ../boards/erase_double_clic.xml.in.h, line: 2
+# File: ../boards/erase_double_clic.xml.in.h, line: 2
#: ../boards/erase_double_clic.xml.in.h:2
msgid "Double-Click the mouse to erase the area and discover the background"
msgstr "Doppio clic per cancellare l'area e scoprire lo sfondo"
+#
+# File: ../boards/erase_double_clic.xml.in.h, line: 3
+# File: ../boards/erase_double_clic.xml.in.h, line: 3
+# File: ../boards/erase_double_clic.xml.in.h, line: 3
#: ../boards/erase_double_clic.xml.in.h:3
msgid "Double-click the mouse"
msgstr "Doppio clic con il mouse"
+#
+# File: ../boards/erase_double_clic.xml.in.h, line: 4
+# File: ../boards/erase_double_clic.xml.in.h, line: 4
+# File: ../boards/erase_double_clic.xml.in.h, line: 4
#: ../boards/erase_double_clic.xml.in.h:4
msgid "Double-click the mouse on rectangles until all the blocks disappear."
msgstr "Doppio clic sui rettangoli affinché tutti i blocchi spariscano."
+#
+# File: ../boards/experience.xml.in.h, line: 1
+# File: ../boards/experience.xml.in.h, line: 1
+# File: ../boards/experience.xml.in.h, line: 1
#: ../boards/experience.xml.in.h:1
msgid "Go to experiential activities"
msgstr "Vai alle attività di pratica"
+#
+# File: ../boards/experience.xml.in.h, line: 2
+# File: ../boards/experience.xml.in.h, line: 2
+# File: ../boards/experience.xml.in.h, line: 2
#: ../boards/experience.xml.in.h:2
msgid "Various activities based on physical movement."
msgstr "Attività varie basate sul movimento fisico."
+#
+# File: ../boards/experimental.xml.in.h, line: 1
+# File: ../boards/experimental.xml.in.h, line: 1
+# File: ../boards/experimental.xml.in.h, line: 1
#: ../boards/experimental.xml.in.h:1
msgid "Go to Experimental activities"
msgstr "Vai alle attività per sperimentare."
+#
+# File: ../boards/experimental.xml.in.h, line: 2
+# File: ../boards/experimental.xml.in.h, line: 2
+# File: ../boards/experimental.xml.in.h, line: 2
#: ../boards/experimental.xml.in.h:2
msgid "Run gcompris --experimental to see this menu."
msgstr "Avvia «gcompris --experimental» per vedere questo menu."
+#
+# File: ../boards/fifteen.xml.in.h, line: 1
+# File: ../boards/fifteen.xml.in.h, line: 1
+# File: ../boards/fifteen.xml.in.h, line: 1
#: ../boards/fifteen.xml.in.h:1
msgid ""
"Click on any item that has a free block beside it, and it will be swapped "
@@ -1457,6 +2690,10 @@ msgstr ""
"Fai clic su ogni oggetto che ha un blocco libero accanto a sé e questo sarà "
"scambiato con il blocco vuoto."
+#
+# File: ../boards/fifteen.xml.in.h, line: 3
+# File: ../boards/fifteen.xml.in.h, line: 3
+# File: ../boards/fifteen.xml.in.h, line: 3
#: ../boards/fifteen.xml.in.h:3
msgid ""
"Move each item to make an increasing series: from the smallest to the largest"
@@ -1464,50 +2701,42 @@ msgstr ""
"Sposta ogni oggetto per ottenere una serie in ordine crescente: dal più "
"piccolo al più grande"
+#
+# File: ../boards/fifteen.xml.in.h, line: 4
+# File: ../boards/fifteen.xml.in.h, line: 4
+# File: ../boards/fifteen.xml.in.h, line: 4
#: ../boards/fifteen.xml.in.h:4
msgid "Original code taken from the libgnomecanvas demo"
msgstr "Il codice originale è preso dal demo di libgnomecanvas"
+#
+# File: ../boards/fifteen.xml.in.h, line: 5
+# File: ../boards/fifteen.xml.in.h, line: 5
+# File: ../boards/fifteen.xml.in.h, line: 5
#: ../boards/fifteen.xml.in.h:5
-msgid "Samuel Loyd"
-msgstr "Samuel Loyd"
-
-#: ../boards/fifteen.xml.in.h:6
msgid "The fifteen game"
msgstr "Il gioco del quindici"
-#: ../boards/fifteen.xml.in.h:7
-msgid "anticipate"
-msgstr "anticipa"
-
-#: ../boards/fifteen.xml.in.h:8
-msgid "logical"
-msgstr "logico"
-
-#: ../boards/fifteen.xml.in.h:9
-msgid "move"
-msgstr "muovi"
-
-#: ../boards/fifteen.xml.in.h:10
-msgid "puzzle"
-msgstr "rompicapo"
-
-#: ../boards/fifteen.xml.in.h:11
-msgid "slide"
-msgstr "tassello"
-
-#: ../boards/fifteen.xml.in.h:12
-msgid "taquin"
-msgstr "gioco del quindici"
-
+#
+# File: ../boards/followline.xml.in.h, line: 1
+# File: ../boards/followline.xml.in.h, line: 1
+# File: ../boards/followline.xml.in.h, line: 1
#: ../boards/followline.xml.in.h:1
msgid "Control the hose-pipe"
msgstr "Controlla il tubo"
+#
+# File: ../boards/followline.xml.in.h, line: 2
+# File: ../boards/followline.xml.in.h, line: 2
+# File: ../boards/followline.xml.in.h, line: 2
#: ../boards/followline.xml.in.h:2
msgid "Fine motor coordination"
msgstr "Buona coordinazione motoria"
+#
+# File: ../boards/followline.xml.in.h, line: 3
+# File: ../boards/followline.xml.in.h, line: 3
+# File: ../boards/followline.xml.in.h, line: 3
#: ../boards/followline.xml.in.h:3
msgid ""
"Move the mouse over the red part of the hose-pipe. This will move it, "
@@ -1518,629 +2747,1364 @@ msgstr ""
"libererai un pezzo alla volta fino ad annaffiare i fiori. Attento, se sposti "
"il mouse fuori dal tubo, il tappo ritornerà subito indietro."
+#
+# File: ../boards/followline.xml.in.h, line: 4
+# File: ../boards/followline.xml.in.h, line: 4
+# File: ../boards/followline.xml.in.h, line: 4
#: ../boards/followline.xml.in.h:4
msgid "Tux needs to water the flowers, but the hose is blocked."
msgstr "Tux deve innaffiare i fiori ma il tubo è ostruito."
+#
+# File: ../boards/fun.xml.in.h, line: 1
+# File: ../boards/fun.xml.in.h, line: 1
+# File: ../boards/fun.xml.in.h, line: 1
#: ../boards/fun.xml.in.h:1
msgid "Go to Amusement activities"
msgstr "Vai alla sezione del divertimento"
+#
+# File: ../boards/fun.xml.in.h, line: 2
+# File: ../boards/fun.xml.in.h, line: 2
+# File: ../boards/fun.xml.in.h, line: 2
#: ../boards/fun.xml.in.h:2
msgid "Various fun activities."
msgstr "Varie attività di divertimento."
+#
+# File: ../boards/gcompris/mimetypes/mime_type.xml.in.h, line: 1
+# File: ../boards/gcompris/mimetypes/mime_type.xml.in.h, line: 1
+# File: ../boards/gcompris/mimetypes/mime_type.xml.in.h, line: 1
#: ../boards/gcompris/mimetypes/mime_type.xml.in.h:1
msgid "gcompris animation"
msgstr "Animazione di GCompris"
+#
+# File: ../boards/gcompris/mimetypes/mime_type.xml.in.h, line: 2
+# File: ../boards/gcompris/mimetypes/mime_type.xml.in.h, line: 2
+# File: ../boards/gcompris/mimetypes/mime_type.xml.in.h, line: 2
#: ../boards/gcompris/mimetypes/mime_type.xml.in.h:2
msgid "gcompris drawing"
msgstr "Disegno di Gcompris"
+#
+# File: ../boards/gcompris/mimetypes/mime_type.xml.in.h, line: 3
+# File: ../boards/gcompris/mimetypes/mime_type.xml.in.h, line: 3
+# File: ../boards/gcompris/mimetypes/mime_type.xml.in.h, line: 3
#: ../boards/gcompris/mimetypes/mime_type.xml.in.h:3
msgid "svg drawing"
msgstr "disegno svg"
+#
+# File: ../boards/gcompris/mimetypes/mime_type.xml.in.h, line: 4
+# File: ../boards/gcompris/mimetypes/mime_type.xml.in.h, line: 4
+# File: ../boards/gcompris/mimetypes/mime_type.xml.in.h, line: 4
#: ../boards/gcompris/mimetypes/mime_type.xml.in.h:4
msgid "svg mozilla animation"
msgstr "animazione svg mozilla"
+#
+# File: ../boards/geography.xml.in.h, line: 1
+# File: ../boards/geography.xml.in.h, line: 1
+# File: ../boards/geography.xml.in.h, line: 1
#: ../boards/geography.xml.in.h:1
msgid "Drag and Drop the items to redraw the whole map"
msgstr "Trascina e lascia le parti per ridisegnare la mappa completa"
+#
+# File: ../boards/geography.xml.in.h, line: 2
+# File: ../boards/geography.xml.in.h, line: 2
+# File: ../boards/geography.xml.in.h, line: 2
#: ../boards/geography.xml.in.h:2
msgid "Locate the countries"
msgstr "Individua i paesi"
+#
+# File: ../boards/geography.xml.in.h, line: 3
+# File: ../boards/geography.xml.in.h, line: 3
+# File: ../boards/geography.xml.in.h, line: 3
#: ../boards/geography.xml.in.h:3
msgid "Mouse manipulation: movement, drag and drop"
msgstr "Utilizzo del mouse: muovere, trascinare e lasciare."
+#
+# File: ../boards/geography.xml.in.h, line: 4
+# File: ../boards/geography.xml.in.h, line: 4
+# File: ../boards/geography.xml.in.h, line: 4
+#: ../boards/geography.xml.in.h:4
+msgid ""
+"The map of Germany comes from Wikipedia and is released under the GNU Free "
+"Documentation License. Olaf Ronneberger and his children Lina and Julia "
+"Ronneberger created the German level."
+msgstr ""
+"La mappa della Germania proviene da Wikipedia ed è rilasciata sotto la "
+"Licenza GNU Free Documentation. Olaf Ronneberger e le sue figlie Lina e "
+"Julia hanno creato il livello relativo alla Germania."
+
+#
+# File: ../boards/geography/board1_0.xml.in.h, line: 1
+# File: ../boards/geography/board4_2.xml.in.h, line: 1
+# File: ../boards/geography/board1_0.xml.in.h, line: 1
+# File: ../boards/geography/board4_2.xml.in.h, line: 1
+# File: ../boards/geography/board1_0.xml.in.h, line: 1
+# File: ../boards/geography/board4_2.xml.in.h, line: 1
#: ../boards/geography/board1_0.xml.in.h:1
#: ../boards/geography/board4_2.xml.in.h:1
msgid "Africa"
msgstr "Africa"
+#
+# File: ../boards/geography/board1_0.xml.in.h, line: 2
+# File: ../boards/geography/board1_0.xml.in.h, line: 2
+# File: ../boards/geography/board1_0.xml.in.h, line: 2
#: ../boards/geography/board1_0.xml.in.h:2
msgid "America"
msgstr "America"
+#
+# File: ../boards/geography/board1_0.xml.in.h, line: 3
+# File: ../boards/geography/board1_0.xml.in.h, line: 3
+# File: ../boards/geography/board1_0.xml.in.h, line: 3
#: ../boards/geography/board1_0.xml.in.h:3
msgid "Antartica"
msgstr "Antartide"
+#
+# File: ../boards/geography/board1_0.xml.in.h, line: 4
+# File: ../boards/geography/board1_0.xml.in.h, line: 4
+# File: ../boards/geography/board1_0.xml.in.h, line: 4
#: ../boards/geography/board1_0.xml.in.h:4
msgid "Asia"
msgstr "Asia"
+#
+# File: ../boards/geography/board1_0.xml.in.h, line: 5
+# File: ../boards/geography/board1_0.xml.in.h, line: 5
+# File: ../boards/geography/board1_0.xml.in.h, line: 5
#: ../boards/geography/board1_0.xml.in.h:5
msgid "Continents"
msgstr "Continenti"
+#
+# File: ../boards/geography/board1_0.xml.in.h, line: 6
+# File: ../boards/geography/board1_0.xml.in.h, line: 6
+# File: ../boards/geography/board1_0.xml.in.h, line: 6
#: ../boards/geography/board1_0.xml.in.h:6
msgid "Europe"
msgstr "Europa"
+#
+# File: ../boards/geography/board1_0.xml.in.h, line: 7
+# File: ../boards/geography/board1_0.xml.in.h, line: 7
+# File: ../boards/geography/board1_0.xml.in.h, line: 7
#: ../boards/geography/board1_0.xml.in.h:7
msgid "Oceania"
msgstr "Oceania"
+#
+# File: ../boards/geography/board2_0.xml.in.h, line: 1
+# File: ../boards/geography/board2_0.xml.in.h, line: 1
+# File: ../boards/geography/board2_0.xml.in.h, line: 1
#: ../boards/geography/board2_0.xml.in.h:1
msgid "Alaska"
msgstr "Alaska"
+#
+# File: ../boards/geography/board2_0.xml.in.h, line: 2
+# File: ../boards/geography/board2_0.xml.in.h, line: 2
+# File: ../boards/geography/board2_0.xml.in.h, line: 2
#: ../boards/geography/board2_0.xml.in.h:2
msgid "Bahamas"
msgstr "Bahama"
+#
+# File: ../boards/geography/board2_0.xml.in.h, line: 3
+# File: ../boards/geography/board2_0.xml.in.h, line: 3
+# File: ../boards/geography/board2_0.xml.in.h, line: 3
#: ../boards/geography/board2_0.xml.in.h:3
msgid "Canada"
msgstr "Canada"
+#
+# File: ../boards/geography/board2_0.xml.in.h, line: 4
+# File: ../boards/geography/board2_0.xml.in.h, line: 4
+# File: ../boards/geography/board2_0.xml.in.h, line: 4
#: ../boards/geography/board2_0.xml.in.h:4
msgid "Cuba"
msgstr "Cuba"
+#
+# File: ../boards/geography/board2_0.xml.in.h, line: 5
+# File: ../boards/geography/board2_0.xml.in.h, line: 5
+# File: ../boards/geography/board2_0.xml.in.h, line: 5
#: ../boards/geography/board2_0.xml.in.h:5
msgid "Dominican Republic"
msgstr "Repubblica Dominicana"
+#
+# File: ../boards/geography/board2_0.xml.in.h, line: 6
+# File: ../boards/geography/board2_0.xml.in.h, line: 6
+# File: ../boards/geography/board2_0.xml.in.h, line: 6
#: ../boards/geography/board2_0.xml.in.h:6
msgid "Greenland"
msgstr "Groenlandia"
+#
+# File: ../boards/geography/board2_0.xml.in.h, line: 7
+# File: ../boards/geography/board2_0.xml.in.h, line: 7
+# File: ../boards/geography/board2_0.xml.in.h, line: 7
#: ../boards/geography/board2_0.xml.in.h:7
msgid "Haiti"
msgstr "Haiti"
+#
+# File: ../boards/geography/board2_0.xml.in.h, line: 8
+# File: ../boards/geography/board3_0.xml.in.h, line: 7
+# File: ../boards/geography/board2_0.xml.in.h, line: 8
+# File: ../boards/geography/board3_0.xml.in.h, line: 7
+# File: ../boards/geography/board2_0.xml.in.h, line: 8
+# File: ../boards/geography/board3_0.xml.in.h, line: 7
#: ../boards/geography/board2_0.xml.in.h:8
#: ../boards/geography/board3_0.xml.in.h:7
msgid "Iceland"
msgstr "Islanda"
+#
+# File: ../boards/geography/board2_0.xml.in.h, line: 9
+# File: ../boards/geography/board2_0.xml.in.h, line: 9
+# File: ../boards/geography/board2_0.xml.in.h, line: 9
#: ../boards/geography/board2_0.xml.in.h:9
msgid "Jamaica"
msgstr "Giamaica"
+#
+# File: ../boards/geography/board2_0.xml.in.h, line: 10
+# File: ../boards/geography/board2_0.xml.in.h, line: 10
+# File: ../boards/geography/board2_0.xml.in.h, line: 10
#: ../boards/geography/board2_0.xml.in.h:10
msgid "Mexico"
msgstr "Messico"
+#
+# File: ../boards/geography/board2_0.xml.in.h, line: 11
+# File: ../boards/geography/board2_0.xml.in.h, line: 11
+# File: ../boards/geography/board2_0.xml.in.h, line: 11
#: ../boards/geography/board2_0.xml.in.h:11
msgid "North America"
msgstr "America del nord"
+#
+# File: ../boards/geography/board2_0.xml.in.h, line: 12
+# File: ../boards/geography/board2_0.xml.in.h, line: 12
+# File: ../boards/geography/board2_0.xml.in.h, line: 12
#: ../boards/geography/board2_0.xml.in.h:12
msgid "United States of America"
msgstr "Stati Uniti d'America"
+#
+# File: ../boards/geography/board2_1.xml.in.h, line: 1
+# File: ../boards/geography/board2_1.xml.in.h, line: 1
+# File: ../boards/geography/board2_1.xml.in.h, line: 1
#: ../boards/geography/board2_1.xml.in.h:1
msgid "Argentina"
msgstr "Argentina"
+#
+# File: ../boards/geography/board2_1.xml.in.h, line: 2
+# File: ../boards/geography/board2_1.xml.in.h, line: 2
+# File: ../boards/geography/board2_1.xml.in.h, line: 2
#: ../boards/geography/board2_1.xml.in.h:2
msgid "Bolivia"
msgstr "Bolivia"
+#
+# File: ../boards/geography/board2_1.xml.in.h, line: 3
+# File: ../boards/geography/board2_1.xml.in.h, line: 3
+# File: ../boards/geography/board2_1.xml.in.h, line: 3
#: ../boards/geography/board2_1.xml.in.h:3
msgid "Brazil"
msgstr "Brasile"
+#
+# File: ../boards/geography/board2_1.xml.in.h, line: 4
+# File: ../boards/geography/board2_1.xml.in.h, line: 4
+# File: ../boards/geography/board2_1.xml.in.h, line: 4
#: ../boards/geography/board2_1.xml.in.h:4
msgid "Chile"
msgstr "Cile"
+#
+# File: ../boards/geography/board2_1.xml.in.h, line: 5
+# File: ../boards/geography/board2_1.xml.in.h, line: 5
+# File: ../boards/geography/board2_1.xml.in.h, line: 5
#: ../boards/geography/board2_1.xml.in.h:5
msgid "Colombia"
msgstr "Colombia"
+#
+# File: ../boards/geography/board2_1.xml.in.h, line: 6
+# File: ../boards/geography/board2_1.xml.in.h, line: 6
+# File: ../boards/geography/board2_1.xml.in.h, line: 6
#: ../boards/geography/board2_1.xml.in.h:6
msgid "Ecuador"
msgstr "Ecuador"
+#
+# File: ../boards/geography/board2_1.xml.in.h, line: 7
+# File: ../boards/geography/board2_1.xml.in.h, line: 7
+# File: ../boards/geography/board2_1.xml.in.h, line: 7
#: ../boards/geography/board2_1.xml.in.h:7
msgid "French Guiana"
msgstr "Guyana francese"
+#
+# File: ../boards/geography/board2_1.xml.in.h, line: 8
+# File: ../boards/geography/board2_1.xml.in.h, line: 8
+# File: ../boards/geography/board2_1.xml.in.h, line: 8
#: ../boards/geography/board2_1.xml.in.h:8
msgid "Guyana"
msgstr "Guyana"
+#
+# File: ../boards/geography/board2_1.xml.in.h, line: 9
+# File: ../boards/geography/board2_1.xml.in.h, line: 9
+# File: ../boards/geography/board2_1.xml.in.h, line: 9
#: ../boards/geography/board2_1.xml.in.h:9
msgid "Panama"
msgstr "Panama"
+#
+# File: ../boards/geography/board2_1.xml.in.h, line: 10
+# File: ../boards/geography/board2_1.xml.in.h, line: 10
+# File: ../boards/geography/board2_1.xml.in.h, line: 10
#: ../boards/geography/board2_1.xml.in.h:10
msgid "Paraguay"
msgstr "Paraguay"
+#
+# File: ../boards/geography/board2_1.xml.in.h, line: 11
+# File: ../boards/geography/board2_1.xml.in.h, line: 11
+# File: ../boards/geography/board2_1.xml.in.h, line: 11
#: ../boards/geography/board2_1.xml.in.h:11
msgid "Peru"
msgstr "Perù"
+#
+# File: ../boards/geography/board2_1.xml.in.h, line: 12
+# File: ../boards/geography/board2_1.xml.in.h, line: 12
+# File: ../boards/geography/board2_1.xml.in.h, line: 12
#: ../boards/geography/board2_1.xml.in.h:12
msgid "South America"
msgstr "America del sud"
+#
+# File: ../boards/geography/board2_1.xml.in.h, line: 13
+# File: ../boards/geography/board2_1.xml.in.h, line: 13
+# File: ../boards/geography/board2_1.xml.in.h, line: 13
#: ../boards/geography/board2_1.xml.in.h:13
msgid "Suriname"
msgstr "Suriname"
+#
+# File: ../boards/geography/board2_1.xml.in.h, line: 14
+# File: ../boards/geography/board2_1.xml.in.h, line: 14
+# File: ../boards/geography/board2_1.xml.in.h, line: 14
#: ../boards/geography/board2_1.xml.in.h:14
msgid "Uruguay"
msgstr "Uruguay"
+#
+# File: ../boards/geography/board2_1.xml.in.h, line: 15
+# File: ../boards/geography/board2_1.xml.in.h, line: 15
+# File: ../boards/geography/board2_1.xml.in.h, line: 15
#: ../boards/geography/board2_1.xml.in.h:15
msgid "Venezuela"
msgstr "Venezuela"
+#
+# File: ../boards/geography/board3_0.xml.in.h, line: 1
+# File: ../boards/geography/board3_0.xml.in.h, line: 1
+# File: ../boards/geography/board3_0.xml.in.h, line: 1
#: ../boards/geography/board3_0.xml.in.h:1
msgid "Austria"
msgstr "Austria"
+#
+# File: ../boards/geography/board3_0.xml.in.h, line: 2
+# File: ../boards/geography/board3_0.xml.in.h, line: 2
+# File: ../boards/geography/board3_0.xml.in.h, line: 2
#: ../boards/geography/board3_0.xml.in.h:2
msgid "Belgium"
msgstr "Belgio"
+#
+# File: ../boards/geography/board3_0.xml.in.h, line: 3
+# File: ../boards/geography/board3_0.xml.in.h, line: 3
+# File: ../boards/geography/board3_0.xml.in.h, line: 3
#: ../boards/geography/board3_0.xml.in.h:3
msgid "Denmark"
msgstr "Danimarca"
+#
+# File: ../boards/geography/board3_0.xml.in.h, line: 4
+# File: ../boards/geography/board3_0.xml.in.h, line: 4
+# File: ../boards/geography/board3_0.xml.in.h, line: 4
#: ../boards/geography/board3_0.xml.in.h:4
msgid "Finland"
msgstr "Finlandia"
+#
+# File: ../boards/geography/board3_0.xml.in.h, line: 5
+# File: ../boards/geography/board3_0.xml.in.h, line: 5
+# File: ../boards/geography/board3_0.xml.in.h, line: 5
#: ../boards/geography/board3_0.xml.in.h:5
msgid "France"
msgstr "Francia"
+#
+# File: ../boards/geography/board3_0.xml.in.h, line: 6
+# File: ../boards/geography/board3_0.xml.in.h, line: 6
+# File: ../boards/geography/board3_0.xml.in.h, line: 6
#: ../boards/geography/board3_0.xml.in.h:6
msgid "Germany"
msgstr "Germania"
+#
+# File: ../boards/geography/board3_0.xml.in.h, line: 8
+# File: ../boards/geography/board3_0.xml.in.h, line: 8
+# File: ../boards/geography/board3_0.xml.in.h, line: 8
#: ../boards/geography/board3_0.xml.in.h:8
msgid "Ireland"
msgstr "Irlanda"
+#
+# File: ../boards/geography/board3_0.xml.in.h, line: 9
+# File: ../boards/geography/board3_0.xml.in.h, line: 9
+# File: ../boards/geography/board3_0.xml.in.h, line: 9
#: ../boards/geography/board3_0.xml.in.h:9
msgid "Italy"
msgstr "Italia"
+#
+# File: ../boards/geography/board3_0.xml.in.h, line: 10
+# File: ../boards/geography/board3_0.xml.in.h, line: 10
+# File: ../boards/geography/board3_0.xml.in.h, line: 10
#: ../boards/geography/board3_0.xml.in.h:10
msgid "Luxembourg"
msgstr "Lussemburgo"
+#
+# File: ../boards/geography/board3_0.xml.in.h, line: 11
+# File: ../boards/geography/board3_0.xml.in.h, line: 11
+# File: ../boards/geography/board3_0.xml.in.h, line: 11
#: ../boards/geography/board3_0.xml.in.h:11
msgid "Norway"
msgstr "Norvegia"
+#
+# File: ../boards/geography/board3_0.xml.in.h, line: 12
+# File: ../boards/geography/board3_0.xml.in.h, line: 12
+# File: ../boards/geography/board3_0.xml.in.h, line: 12
#: ../boards/geography/board3_0.xml.in.h:12
msgid "Portugal"
msgstr "Portogallo"
+#
+# File: ../boards/geography/board3_0.xml.in.h, line: 13
+# File: ../boards/geography/board3_0.xml.in.h, line: 13
+# File: ../boards/geography/board3_0.xml.in.h, line: 13
#: ../boards/geography/board3_0.xml.in.h:13
msgid "Spain"
msgstr "Spagna"
+#
+# File: ../boards/geography/board3_0.xml.in.h, line: 14
+# File: ../boards/geography/board3_0.xml.in.h, line: 14
+# File: ../boards/geography/board3_0.xml.in.h, line: 14
#: ../boards/geography/board3_0.xml.in.h:14
msgid "Sweden"
msgstr "Svezia"
+#
+# File: ../boards/geography/board3_0.xml.in.h, line: 15
+# File: ../boards/geography/board3_0.xml.in.h, line: 15
+# File: ../boards/geography/board3_0.xml.in.h, line: 15
#: ../boards/geography/board3_0.xml.in.h:15
msgid "Switzerland"
msgstr "Svizzera"
+#
+# File: ../boards/geography/board3_0.xml.in.h, line: 16
+# File: ../boards/geography/board3_0.xml.in.h, line: 16
+# File: ../boards/geography/board3_0.xml.in.h, line: 16
#: ../boards/geography/board3_0.xml.in.h:16
msgid "The Netherlands"
msgstr "Olanda"
+#
+# File: ../boards/geography/board3_0.xml.in.h, line: 17
+# File: ../boards/geography/board3_0.xml.in.h, line: 17
+# File: ../boards/geography/board3_0.xml.in.h, line: 17
#: ../boards/geography/board3_0.xml.in.h:17
msgid "United Kingdom"
msgstr "Regno Unito"
+#
+# File: ../boards/geography/board3_0.xml.in.h, line: 18
+# File: ../boards/geography/board3_0.xml.in.h, line: 18
+# File: ../boards/geography/board3_0.xml.in.h, line: 18
#: ../boards/geography/board3_0.xml.in.h:18
msgid "Western Europe"
msgstr "Europa occidentale"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 1
+# File: ../boards/geography/board3_1.xml.in.h, line: 1
+# File: ../boards/geography/board3_1.xml.in.h, line: 1
#: ../boards/geography/board3_1.xml.in.h:1
msgid "Albania"
msgstr "Albania"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 2
+# File: ../boards/geography/board3_1.xml.in.h, line: 2
+# File: ../boards/geography/board3_1.xml.in.h, line: 2
#: ../boards/geography/board3_1.xml.in.h:2
msgid "Belarus"
msgstr "Bielorussia"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 3
+# File: ../boards/geography/board3_1.xml.in.h, line: 3
+# File: ../boards/geography/board3_1.xml.in.h, line: 3
#: ../boards/geography/board3_1.xml.in.h:3
msgid "Bosnia Herzegovina"
msgstr "Bosnia Erzegovina"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 4
+# File: ../boards/geography/board3_1.xml.in.h, line: 4
+# File: ../boards/geography/board3_1.xml.in.h, line: 4
#: ../boards/geography/board3_1.xml.in.h:4
msgid "Bulgaria"
msgstr "Bulgaria"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 5
+# File: ../boards/geography/board3_1.xml.in.h, line: 5
+# File: ../boards/geography/board3_1.xml.in.h, line: 5
#: ../boards/geography/board3_1.xml.in.h:5
msgid "Croatia"
msgstr "Croazia"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 6
+# File: ../boards/geography/board3_1.xml.in.h, line: 6
+# File: ../boards/geography/board3_1.xml.in.h, line: 6
#: ../boards/geography/board3_1.xml.in.h:6
msgid "Cyprus"
msgstr "Cipro"
-#: ../boards/geography/board3_1.xml.in.h:7 ../src/gcompris/config.c:69
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 7
+# File: ../src/gcompris/config.c, line: 65
+# File: ../boards/geography/board3_1.xml.in.h, line: 7
+# File: ../src/gcompris/config.c, line: 65
+# File: ../boards/geography/board3_1.xml.in.h, line: 7
+# File: ../src/gcompris/config.c, line: 65
+#: ../boards/geography/board3_1.xml.in.h:7 ../src/gcompris/config.c:65
msgid "Czech Republic"
msgstr "Repubblica Ceca"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 8
+# File: ../boards/geography/board3_1.xml.in.h, line: 8
+# File: ../boards/geography/board3_1.xml.in.h, line: 8
#: ../boards/geography/board3_1.xml.in.h:8
msgid "Eastern Europe"
msgstr "Europa orientale"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 9
+# File: ../boards/geography/board3_1.xml.in.h, line: 9
+# File: ../boards/geography/board3_1.xml.in.h, line: 9
#: ../boards/geography/board3_1.xml.in.h:9
msgid "Estonia"
msgstr "Estonia"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 10
+# File: ../boards/geography/board3_1.xml.in.h, line: 10
+# File: ../boards/geography/board3_1.xml.in.h, line: 10
#: ../boards/geography/board3_1.xml.in.h:10
msgid "Greece"
msgstr "Grecia"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 11
+# File: ../boards/geography/board3_1.xml.in.h, line: 11
+# File: ../boards/geography/board3_1.xml.in.h, line: 11
#: ../boards/geography/board3_1.xml.in.h:11
msgid "Hungary"
msgstr "Ungheria"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 12
+# File: ../boards/geography/board3_1.xml.in.h, line: 12
+# File: ../boards/geography/board3_1.xml.in.h, line: 12
#: ../boards/geography/board3_1.xml.in.h:12
msgid "Latvia"
msgstr "Lettonia"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 13
+# File: ../boards/geography/board3_1.xml.in.h, line: 13
+# File: ../boards/geography/board3_1.xml.in.h, line: 13
#: ../boards/geography/board3_1.xml.in.h:13
msgid "Lithuania"
msgstr "Lituania"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 14
+# File: ../boards/geography/board3_1.xml.in.h, line: 14
+# File: ../boards/geography/board3_1.xml.in.h, line: 14
#: ../boards/geography/board3_1.xml.in.h:14
msgid "Macedonia"
msgstr "Macedonia"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 15
+# File: ../boards/geography/board3_1.xml.in.h, line: 15
+# File: ../boards/geography/board3_1.xml.in.h, line: 15
#: ../boards/geography/board3_1.xml.in.h:15
msgid "Moldova"
msgstr "Moldavia"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 16
+# File: ../boards/geography/board3_1.xml.in.h, line: 16
+# File: ../boards/geography/board3_1.xml.in.h, line: 16
#: ../boards/geography/board3_1.xml.in.h:16
msgid "Poland"
msgstr "Polonia"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 17
+# File: ../boards/geography/board3_1.xml.in.h, line: 17
+# File: ../boards/geography/board3_1.xml.in.h, line: 17
#: ../boards/geography/board3_1.xml.in.h:17
msgid "Romania"
msgstr "Romania"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 18
+# File: ../boards/geography/board3_1.xml.in.h, line: 18
+# File: ../boards/geography/board3_1.xml.in.h, line: 18
#: ../boards/geography/board3_1.xml.in.h:18
msgid "Russia"
msgstr "Russia"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 19
+# File: ../boards/geography/board3_1.xml.in.h, line: 19
+# File: ../boards/geography/board3_1.xml.in.h, line: 19
#: ../boards/geography/board3_1.xml.in.h:19
msgid "Serbia Montenegro"
msgstr "Serbia e Montenegro"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 20
+# File: ../boards/geography/board3_1.xml.in.h, line: 20
+# File: ../boards/geography/board3_1.xml.in.h, line: 20
#: ../boards/geography/board3_1.xml.in.h:20
msgid "Slovak Republic"
msgstr "Slovacchia"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 21
+# File: ../boards/geography/board3_1.xml.in.h, line: 21
+# File: ../boards/geography/board3_1.xml.in.h, line: 21
#: ../boards/geography/board3_1.xml.in.h:21
msgid "Slovenia"
msgstr "Slovenia"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 22
+# File: ../boards/geography/board3_1.xml.in.h, line: 22
+# File: ../boards/geography/board3_1.xml.in.h, line: 22
#: ../boards/geography/board3_1.xml.in.h:22
msgid "Turkey"
msgstr "Turchia"
+#
+# File: ../boards/geography/board3_1.xml.in.h, line: 23
+# File: ../boards/geography/board3_1.xml.in.h, line: 23
+# File: ../boards/geography/board3_1.xml.in.h, line: 23
#: ../boards/geography/board3_1.xml.in.h:23
msgid "Ukraine"
msgstr "Ucraina"
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 1
+# File: ../boards/geography/board4_2.xml.in.h, line: 2
+# File: ../boards/geography/board4_0.xml.in.h, line: 1
+# File: ../boards/geography/board4_2.xml.in.h, line: 2
+# File: ../boards/geography/board4_0.xml.in.h, line: 1
+# File: ../boards/geography/board4_2.xml.in.h, line: 2
#: ../boards/geography/board4_0.xml.in.h:1
#: ../boards/geography/board4_2.xml.in.h:2
msgid "Algeria"
msgstr "Algeria"
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 2
+# File: ../boards/geography/board4_2.xml.in.h, line: 4
+# File: ../boards/geography/board4_0.xml.in.h, line: 2
+# File: ../boards/geography/board4_2.xml.in.h, line: 4
+# File: ../boards/geography/board4_0.xml.in.h, line: 2
+# File: ../boards/geography/board4_2.xml.in.h, line: 4
#: ../boards/geography/board4_0.xml.in.h:2
#: ../boards/geography/board4_2.xml.in.h:4
msgid "Benin"
msgstr "Benin"
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 3
+# File: ../boards/geography/board4_2.xml.in.h, line: 6
+# File: ../boards/geography/board4_0.xml.in.h, line: 3
+# File: ../boards/geography/board4_2.xml.in.h, line: 6
+# File: ../boards/geography/board4_0.xml.in.h, line: 3
+# File: ../boards/geography/board4_2.xml.in.h, line: 6
#: ../boards/geography/board4_0.xml.in.h:3
#: ../boards/geography/board4_2.xml.in.h:6
msgid "Burkina Faso"
msgstr "Burkina Faso"
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 4
+# File: ../boards/geography/board4_2.xml.in.h, line: 7
+# File: ../boards/geography/board4_0.xml.in.h, line: 4
+# File: ../boards/geography/board4_2.xml.in.h, line: 7
+# File: ../boards/geography/board4_0.xml.in.h, line: 4
+# File: ../boards/geography/board4_2.xml.in.h, line: 7
#: ../boards/geography/board4_0.xml.in.h:4
-#: ../boards/geography/board4_2.xml.in.h:8
+#: ../boards/geography/board4_2.xml.in.h:7
msgid "Cameroon"
msgstr "Camerun"
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 5
+# File: ../boards/geography/board4_2.xml.in.h, line: 8
+# File: ../boards/geography/board4_0.xml.in.h, line: 5
+# File: ../boards/geography/board4_2.xml.in.h, line: 8
+# File: ../boards/geography/board4_0.xml.in.h, line: 5
+# File: ../boards/geography/board4_2.xml.in.h, line: 8
#: ../boards/geography/board4_0.xml.in.h:5
-#: ../boards/geography/board4_2.xml.in.h:9
+#: ../boards/geography/board4_2.xml.in.h:8
msgid "Central African Republic"
msgstr "Repubblica Centrafricana"
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 6
+# File: ../boards/geography/board4_2.xml.in.h, line: 9
+# File: ../boards/geography/board4_0.xml.in.h, line: 6
+# File: ../boards/geography/board4_2.xml.in.h, line: 9
+# File: ../boards/geography/board4_0.xml.in.h, line: 6
+# File: ../boards/geography/board4_2.xml.in.h, line: 9
#: ../boards/geography/board4_0.xml.in.h:6
-#: ../boards/geography/board4_2.xml.in.h:10
+#: ../boards/geography/board4_2.xml.in.h:9
msgid "Chad"
msgstr "Ciad"
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 7
+# File: ../boards/geography/board4_0.xml.in.h, line: 7
+# File: ../boards/geography/board4_0.xml.in.h, line: 7
#: ../boards/geography/board4_0.xml.in.h:7
-#: ../boards/geography/board4_2.xml.in.h:12
msgid "Djibouti"
msgstr "Gibuti"
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 8
+# File: ../boards/geography/board4_2.xml.in.h, line: 11
+# File: ../boards/geography/board4_0.xml.in.h, line: 8
+# File: ../boards/geography/board4_2.xml.in.h, line: 11
+# File: ../boards/geography/board4_0.xml.in.h, line: 8
+# File: ../boards/geography/board4_2.xml.in.h, line: 11
#: ../boards/geography/board4_0.xml.in.h:8
-#: ../boards/geography/board4_2.xml.in.h:13
+#: ../boards/geography/board4_2.xml.in.h:11
msgid "Egypt"
msgstr "Egitto"
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 9
+# File: ../boards/geography/board4_1.xml.in.h, line: 5
+# File: ../boards/geography/board4_0.xml.in.h, line: 9
+# File: ../boards/geography/board4_1.xml.in.h, line: 5
+# File: ../boards/geography/board4_0.xml.in.h, line: 9
+# File: ../boards/geography/board4_1.xml.in.h, line: 5
#: ../boards/geography/board4_0.xml.in.h:9
#: ../boards/geography/board4_1.xml.in.h:5
-#: ../boards/geography/board4_2.xml.in.h:14
msgid "Equatorial Guinea"
msgstr "Guinea Equatoriale"
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 10
+# File: ../boards/geography/board4_2.xml.in.h, line: 12
+# File: ../boards/geography/board4_0.xml.in.h, line: 10
+# File: ../boards/geography/board4_2.xml.in.h, line: 12
+# File: ../boards/geography/board4_0.xml.in.h, line: 10
+# File: ../boards/geography/board4_2.xml.in.h, line: 12
#: ../boards/geography/board4_0.xml.in.h:10
-#: ../boards/geography/board4_2.xml.in.h:16
+#: ../boards/geography/board4_2.xml.in.h:12
+msgid "Eritrea"
+msgstr "Eritrea"
+
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 11
+# File: ../boards/geography/board4_2.xml.in.h, line: 13
+# File: ../boards/geography/board4_0.xml.in.h, line: 11
+# File: ../boards/geography/board4_2.xml.in.h, line: 13
+# File: ../boards/geography/board4_0.xml.in.h, line: 11
+# File: ../boards/geography/board4_2.xml.in.h, line: 13
+#: ../boards/geography/board4_0.xml.in.h:11
+#: ../boards/geography/board4_2.xml.in.h:13
msgid "Ethiopia"
msgstr "Etiopia"
-#: ../boards/geography/board4_0.xml.in.h:11
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 12
+# File: ../boards/geography/board4_1.xml.in.h, line: 6
+# File: ../boards/geography/board4_2.xml.in.h, line: 14
+# File: ../boards/geography/board4_0.xml.in.h, line: 12
+# File: ../boards/geography/board4_1.xml.in.h, line: 6
+# File: ../boards/geography/board4_2.xml.in.h, line: 14
+# File: ../boards/geography/board4_0.xml.in.h, line: 12
+# File: ../boards/geography/board4_1.xml.in.h, line: 6
+# File: ../boards/geography/board4_2.xml.in.h, line: 14
+#: ../boards/geography/board4_0.xml.in.h:12
#: ../boards/geography/board4_1.xml.in.h:6
-#: ../boards/geography/board4_2.xml.in.h:17
+#: ../boards/geography/board4_2.xml.in.h:14
msgid "Gabon"
msgstr "Gabon"
-#: ../boards/geography/board4_0.xml.in.h:12
-#: ../boards/geography/board4_2.xml.in.h:18
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 13
+# File: ../boards/geography/board4_0.xml.in.h, line: 13
+# File: ../boards/geography/board4_0.xml.in.h, line: 13
+#: ../boards/geography/board4_0.xml.in.h:13
msgid "Gambia"
msgstr "Gambia"
-#: ../boards/geography/board4_0.xml.in.h:13
-#: ../boards/geography/board4_2.xml.in.h:19
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 14
+# File: ../boards/geography/board4_2.xml.in.h, line: 15
+# File: ../boards/geography/board4_0.xml.in.h, line: 14
+# File: ../boards/geography/board4_2.xml.in.h, line: 15
+# File: ../boards/geography/board4_0.xml.in.h, line: 14
+# File: ../boards/geography/board4_2.xml.in.h, line: 15
+#: ../boards/geography/board4_0.xml.in.h:14
+#: ../boards/geography/board4_2.xml.in.h:15
msgid "Ghana"
msgstr "Ghana"
-#: ../boards/geography/board4_0.xml.in.h:14
-#: ../boards/geography/board4_2.xml.in.h:20
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 15
+# File: ../boards/geography/board4_2.xml.in.h, line: 16
+# File: ../boards/geography/board4_0.xml.in.h, line: 15
+# File: ../boards/geography/board4_2.xml.in.h, line: 16
+# File: ../boards/geography/board4_0.xml.in.h, line: 15
+# File: ../boards/geography/board4_2.xml.in.h, line: 16
+#: ../boards/geography/board4_0.xml.in.h:15
+#: ../boards/geography/board4_2.xml.in.h:16
msgid "Guinea"
msgstr "Guinea"
-#: ../boards/geography/board4_0.xml.in.h:15
-#: ../boards/geography/board4_2.xml.in.h:21
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 16
+# File: ../boards/geography/board4_0.xml.in.h, line: 16
+# File: ../boards/geography/board4_0.xml.in.h, line: 16
+#: ../boards/geography/board4_0.xml.in.h:16
msgid "Guinea Bissau"
msgstr "Guinea Bissau"
-#: ../boards/geography/board4_0.xml.in.h:16
-#: ../boards/geography/board4_2.xml.in.h:22
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 17
+# File: ../boards/geography/board4_2.xml.in.h, line: 17
+# File: ../boards/geography/board4_0.xml.in.h, line: 17
+# File: ../boards/geography/board4_2.xml.in.h, line: 17
+# File: ../boards/geography/board4_0.xml.in.h, line: 17
+# File: ../boards/geography/board4_2.xml.in.h, line: 17
+#: ../boards/geography/board4_0.xml.in.h:17
+#: ../boards/geography/board4_2.xml.in.h:17
msgid "Ivory Coast"
msgstr "Costa d'Avorio"
-#: ../boards/geography/board4_0.xml.in.h:17
-#: ../boards/geography/board4_2.xml.in.h:25
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 18
+# File: ../boards/geography/board4_2.xml.in.h, line: 19
+# File: ../boards/geography/board4_0.xml.in.h, line: 18
+# File: ../boards/geography/board4_2.xml.in.h, line: 19
+# File: ../boards/geography/board4_0.xml.in.h, line: 18
+# File: ../boards/geography/board4_2.xml.in.h, line: 19
+#: ../boards/geography/board4_0.xml.in.h:18
+#: ../boards/geography/board4_2.xml.in.h:19
msgid "Liberia"
msgstr "Liberia"
-#: ../boards/geography/board4_0.xml.in.h:18
-#: ../boards/geography/board4_2.xml.in.h:26
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 19
+# File: ../boards/geography/board4_2.xml.in.h, line: 20
+# File: ../boards/geography/board4_0.xml.in.h, line: 19
+# File: ../boards/geography/board4_2.xml.in.h, line: 20
+# File: ../boards/geography/board4_0.xml.in.h, line: 19
+# File: ../boards/geography/board4_2.xml.in.h, line: 20
+#: ../boards/geography/board4_0.xml.in.h:19
+#: ../boards/geography/board4_2.xml.in.h:20
msgid "Libya"
msgstr "Libia"
-#: ../boards/geography/board4_0.xml.in.h:19
-#: ../boards/geography/board4_2.xml.in.h:29
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 20
+# File: ../boards/geography/board4_2.xml.in.h, line: 23
+# File: ../boards/geography/board4_0.xml.in.h, line: 20
+# File: ../boards/geography/board4_2.xml.in.h, line: 23
+# File: ../boards/geography/board4_0.xml.in.h, line: 20
+# File: ../boards/geography/board4_2.xml.in.h, line: 23
+#: ../boards/geography/board4_0.xml.in.h:20
+#: ../boards/geography/board4_2.xml.in.h:23
msgid "Mali"
msgstr "Mali"
-#: ../boards/geography/board4_0.xml.in.h:20
-#: ../boards/geography/board4_2.xml.in.h:30
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 21
+# File: ../boards/geography/board4_2.xml.in.h, line: 24
+# File: ../boards/geography/board4_0.xml.in.h, line: 21
+# File: ../boards/geography/board4_2.xml.in.h, line: 24
+# File: ../boards/geography/board4_0.xml.in.h, line: 21
+# File: ../boards/geography/board4_2.xml.in.h, line: 24
+#: ../boards/geography/board4_0.xml.in.h:21
+#: ../boards/geography/board4_2.xml.in.h:24
msgid "Mauritania"
msgstr "Mauritania"
-#: ../boards/geography/board4_0.xml.in.h:21
-#: ../boards/geography/board4_2.xml.in.h:31
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 22
+# File: ../boards/geography/board4_2.xml.in.h, line: 25
+# File: ../boards/geography/board4_0.xml.in.h, line: 22
+# File: ../boards/geography/board4_2.xml.in.h, line: 25
+# File: ../boards/geography/board4_0.xml.in.h, line: 22
+# File: ../boards/geography/board4_2.xml.in.h, line: 25
+#: ../boards/geography/board4_0.xml.in.h:22
+#: ../boards/geography/board4_2.xml.in.h:25
msgid "Morocco"
msgstr "Marocco"
-#: ../boards/geography/board4_0.xml.in.h:22
-#: ../boards/geography/board4_2.xml.in.h:34
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 23
+# File: ../boards/geography/board4_2.xml.in.h, line: 28
+# File: ../boards/geography/board4_0.xml.in.h, line: 23
+# File: ../boards/geography/board4_2.xml.in.h, line: 28
+# File: ../boards/geography/board4_0.xml.in.h, line: 23
+# File: ../boards/geography/board4_2.xml.in.h, line: 28
+#: ../boards/geography/board4_0.xml.in.h:23
+#: ../boards/geography/board4_2.xml.in.h:28
msgid "Niger"
msgstr "Niger"
-#: ../boards/geography/board4_0.xml.in.h:23
-#: ../boards/geography/board4_2.xml.in.h:35
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 24
+# File: ../boards/geography/board4_2.xml.in.h, line: 29
+# File: ../boards/geography/board4_0.xml.in.h, line: 24
+# File: ../boards/geography/board4_2.xml.in.h, line: 29
+# File: ../boards/geography/board4_0.xml.in.h, line: 24
+# File: ../boards/geography/board4_2.xml.in.h, line: 29
+#: ../boards/geography/board4_0.xml.in.h:24
+#: ../boards/geography/board4_2.xml.in.h:29
msgid "Nigeria"
msgstr "Nigeria"
-#: ../boards/geography/board4_0.xml.in.h:24
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 25
+# File: ../boards/geography/board4_0.xml.in.h, line: 25
+# File: ../boards/geography/board4_0.xml.in.h, line: 25
+#: ../boards/geography/board4_0.xml.in.h:25
msgid "Northern Africa"
msgstr "Africa del nord"
-#: ../boards/geography/board4_0.xml.in.h:25
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 26
+# File: ../boards/geography/board4_1.xml.in.h, line: 14
+# File: ../boards/geography/board4_0.xml.in.h, line: 26
+# File: ../boards/geography/board4_1.xml.in.h, line: 14
+# File: ../boards/geography/board4_0.xml.in.h, line: 26
+# File: ../boards/geography/board4_1.xml.in.h, line: 14
+#: ../boards/geography/board4_0.xml.in.h:26
#: ../boards/geography/board4_1.xml.in.h:14
-#: ../boards/geography/board4_2.xml.in.h:36
msgid "Rwanda"
msgstr "Ruanda"
-#: ../boards/geography/board4_0.xml.in.h:26
-#: ../boards/geography/board4_2.xml.in.h:37
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 27
+# File: ../boards/geography/board4_2.xml.in.h, line: 30
+# File: ../boards/geography/board4_0.xml.in.h, line: 27
+# File: ../boards/geography/board4_2.xml.in.h, line: 30
+# File: ../boards/geography/board4_0.xml.in.h, line: 27
+# File: ../boards/geography/board4_2.xml.in.h, line: 30
+#: ../boards/geography/board4_0.xml.in.h:27
+#: ../boards/geography/board4_2.xml.in.h:30
msgid "Senegal"
msgstr "Senegal"
-#: ../boards/geography/board4_0.xml.in.h:27
-#: ../boards/geography/board4_2.xml.in.h:38
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 28
+# File: ../boards/geography/board4_0.xml.in.h, line: 28
+# File: ../boards/geography/board4_0.xml.in.h, line: 28
+#: ../boards/geography/board4_0.xml.in.h:28
msgid "Sierra Leone"
msgstr "Sierra Leone"
-#: ../boards/geography/board4_0.xml.in.h:28
-#: ../boards/geography/board4_2.xml.in.h:39
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 29
+# File: ../boards/geography/board4_2.xml.in.h, line: 31
+# File: ../boards/geography/board4_0.xml.in.h, line: 29
+# File: ../boards/geography/board4_2.xml.in.h, line: 31
+# File: ../boards/geography/board4_0.xml.in.h, line: 29
+# File: ../boards/geography/board4_2.xml.in.h, line: 31
+#: ../boards/geography/board4_0.xml.in.h:29
+#: ../boards/geography/board4_2.xml.in.h:31
msgid "Somalia"
msgstr "Somalia"
-#: ../boards/geography/board4_0.xml.in.h:29
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 30
+# File: ../boards/geography/board4_2.xml.in.h, line: 33
+# File: ../boards/geography/board4_0.xml.in.h, line: 30
+# File: ../boards/geography/board4_2.xml.in.h, line: 33
+# File: ../boards/geography/board4_0.xml.in.h, line: 30
+# File: ../boards/geography/board4_2.xml.in.h, line: 33
+#: ../boards/geography/board4_0.xml.in.h:30
+#: ../boards/geography/board4_2.xml.in.h:33
msgid "Sudan"
msgstr "Sudan"
-#: ../boards/geography/board4_0.xml.in.h:30
-#: ../boards/geography/board4_2.xml.in.h:43
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 31
+# File: ../boards/geography/board4_2.xml.in.h, line: 35
+# File: ../boards/geography/board4_0.xml.in.h, line: 31
+# File: ../boards/geography/board4_2.xml.in.h, line: 35
+# File: ../boards/geography/board4_0.xml.in.h, line: 31
+# File: ../boards/geography/board4_2.xml.in.h, line: 35
+#: ../boards/geography/board4_0.xml.in.h:31
+#: ../boards/geography/board4_2.xml.in.h:35
msgid "Togo"
msgstr "Togo"
-#: ../boards/geography/board4_0.xml.in.h:31
-#: ../boards/geography/board4_2.xml.in.h:44
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 32
+# File: ../boards/geography/board4_2.xml.in.h, line: 36
+# File: ../boards/geography/board4_0.xml.in.h, line: 32
+# File: ../boards/geography/board4_2.xml.in.h, line: 36
+# File: ../boards/geography/board4_0.xml.in.h, line: 32
+# File: ../boards/geography/board4_2.xml.in.h, line: 36
+#: ../boards/geography/board4_0.xml.in.h:32
+#: ../boards/geography/board4_2.xml.in.h:36
msgid "Tunisia"
msgstr "Tunisia"
-#: ../boards/geography/board4_0.xml.in.h:32
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 33
+# File: ../boards/geography/board4_1.xml.in.h, line: 19
+# File: ../boards/geography/board4_2.xml.in.h, line: 37
+# File: ../boards/geography/board4_0.xml.in.h, line: 33
+# File: ../boards/geography/board4_1.xml.in.h, line: 19
+# File: ../boards/geography/board4_2.xml.in.h, line: 37
+# File: ../boards/geography/board4_0.xml.in.h, line: 33
+# File: ../boards/geography/board4_1.xml.in.h, line: 19
+# File: ../boards/geography/board4_2.xml.in.h, line: 37
+#: ../boards/geography/board4_0.xml.in.h:33
#: ../boards/geography/board4_1.xml.in.h:19
-#: ../boards/geography/board4_2.xml.in.h:45
+#: ../boards/geography/board4_2.xml.in.h:37
msgid "Uganda"
msgstr "Uganda"
-#: ../boards/geography/board4_0.xml.in.h:33
+#
+# File: ../boards/geography/board4_0.xml.in.h, line: 34
+# File: ../boards/geography/board4_0.xml.in.h, line: 34
+# File: ../boards/geography/board4_0.xml.in.h, line: 34
+#: ../boards/geography/board4_0.xml.in.h:34
msgid "Western Sahara"
msgstr "Sahara occidentale"
+#
+# File: ../boards/geography/board4_1.xml.in.h, line: 1
+# File: ../boards/geography/board4_2.xml.in.h, line: 3
+# File: ../boards/geography/board4_1.xml.in.h, line: 1
+# File: ../boards/geography/board4_2.xml.in.h, line: 3
+# File: ../boards/geography/board4_1.xml.in.h, line: 1
+# File: ../boards/geography/board4_2.xml.in.h, line: 3
#: ../boards/geography/board4_1.xml.in.h:1
#: ../boards/geography/board4_2.xml.in.h:3
msgid "Angola"
msgstr "Angola"
+#
+# File: ../boards/geography/board4_1.xml.in.h, line: 2
+# File: ../boards/geography/board4_2.xml.in.h, line: 5
+# File: ../boards/geography/board4_1.xml.in.h, line: 2
+# File: ../boards/geography/board4_2.xml.in.h, line: 5
+# File: ../boards/geography/board4_1.xml.in.h, line: 2
+# File: ../boards/geography/board4_2.xml.in.h, line: 5
#: ../boards/geography/board4_1.xml.in.h:2
#: ../boards/geography/board4_2.xml.in.h:5
msgid "Botswana"
msgstr "Botswana"
+#
+# File: ../boards/geography/board4_1.xml.in.h, line: 3
+# File: ../boards/geography/board4_1.xml.in.h, line: 3
+# File: ../boards/geography/board4_1.xml.in.h, line: 3
#: ../boards/geography/board4_1.xml.in.h:3
-#: ../boards/geography/board4_2.xml.in.h:7
msgid "Burundi"
msgstr "Burundi"
+#
+# File: ../boards/geography/board4_1.xml.in.h, line: 4
+# File: ../boards/geography/board4_2.xml.in.h, line: 10
+# File: ../boards/geography/board4_1.xml.in.h, line: 4
+# File: ../boards/geography/board4_2.xml.in.h, line: 10
+# File: ../boards/geography/board4_1.xml.in.h, line: 4
+# File: ../boards/geography/board4_2.xml.in.h, line: 10
#: ../boards/geography/board4_1.xml.in.h:4
-#: ../boards/geography/board4_2.xml.in.h:11
+#: ../boards/geography/board4_2.xml.in.h:10
msgid "Democratic Republic of Congo"
msgstr "Repubblica Democratica del Congo"
+#
+# File: ../boards/geography/board4_1.xml.in.h, line: 7
+# File: ../boards/geography/board4_2.xml.in.h, line: 18
+# File: ../boards/geography/board4_1.xml.in.h, line: 7
+# File: ../boards/geography/board4_2.xml.in.h, line: 18
+# File: ../boards/geography/board4_1.xml.in.h, line: 7
+# File: ../boards/geography/board4_2.xml.in.h, line: 18
#: ../boards/geography/board4_1.xml.in.h:7
-#: ../boards/geography/board4_2.xml.in.h:23
+#: ../boards/geography/board4_2.xml.in.h:18
msgid "Kenya"
msgstr "Kenya"
+#
+# File: ../boards/geography/board4_1.xml.in.h, line: 8
+# File: ../boards/geography/board4_1.xml.in.h, line: 8
+# File: ../boards/geography/board4_1.xml.in.h, line: 8
#: ../boards/geography/board4_1.xml.in.h:8
-#: ../boards/geography/board4_2.xml.in.h:24
msgid "Lesotho"
msgstr "Lesotho"
+#
+# File: ../boards/geography/board4_1.xml.in.h, line: 9
+# File: ../boards/geography/board4_2.xml.in.h, line: 21
+# File: ../boards/geography/board4_1.xml.in.h, line: 9
+# File: ../boards/geography/board4_2.xml.in.h, line: 21
+# File: ../boards/geography/board4_1.xml.in.h, line: 9
+# File: ../boards/geography/board4_2.xml.in.h, line: 21
#: ../boards/geography/board4_1.xml.in.h:9
-#: ../boards/geography/board4_2.xml.in.h:27
+#: ../boards/geography/board4_2.xml.in.h:21
msgid "Madagascar"
msgstr "Madagascar"
+#
+# File: ../boards/geography/board4_1.xml.in.h, line: 10
+# File: ../boards/geography/board4_2.xml.in.h, line: 22
+# File: ../boards/geography/board4_1.xml.in.h, line: 10
+# File: ../boards/geography/board4_2.xml.in.h, line: 22
+# File: ../boards/geography/board4_1.xml.in.h, line: 10
+# File: ../boards/geography/board4_2.xml.in.h, line: 22
#: ../boards/geography/board4_1.xml.in.h:10
-#: ../boards/geography/board4_2.xml.in.h:28
+#: ../boards/geography/board4_2.xml.in.h:22
msgid "Malawi"
msgstr "Malawi"
+#
+# File: ../boards/geography/board4_1.xml.in.h, line: 11
+# File: ../boards/geography/board4_2.xml.in.h, line: 26
+# File: ../boards/geography/board4_1.xml.in.h, line: 11
+# File: ../boards/geography/board4_2.xml.in.h, line: 26
+# File: ../boards/geography/board4_1.xml.in.h, line: 11
+# File: ../boards/geography/board4_2.xml.in.h, line: 26
#: ../boards/geography/board4_1.xml.in.h:11
-#: ../boards/geography/board4_2.xml.in.h:32
+#: ../boards/geography/board4_2.xml.in.h:26
msgid "Mozambique"
msgstr "Mozambico"
+#
+# File: ../boards/geography/board4_1.xml.in.h, line: 12
+# File: ../boards/geography/board4_2.xml.in.h, line: 27
+# File: ../boards/geography/board4_1.xml.in.h, line: 12
+# File: ../boards/geography/board4_2.xml.in.h, line: 27
+# File: ../boards/geography/board4_1.xml.in.h, line: 12
+# File: ../boards/geography/board4_2.xml.in.h, line: 27
#: ../boards/geography/board4_1.xml.in.h:12
-#: ../boards/geography/board4_2.xml.in.h:33
+#: ../boards/geography/board4_2.xml.in.h:27
msgid "Namibia"
msgstr "Namibia"
+#
+# File: ../boards/geography/board4_1.xml.in.h, line: 13
+# File: ../boards/geography/board4_1.xml.in.h, line: 13
+# File: ../boards/geography/board4_1.xml.in.h, line: 13
#: ../boards/geography/board4_1.xml.in.h:13
msgid "Republic of Congo"
msgstr "Repubblica del Congo"
+#
+# File: ../boards/geography/board4_1.xml.in.h, line: 15
+# File: ../boards/geography/board4_2.xml.in.h, line: 32
+# File: ../boards/geography/board4_1.xml.in.h, line: 15
+# File: ../boards/geography/board4_2.xml.in.h, line: 32
+# File: ../boards/geography/board4_1.xml.in.h, line: 15
+# File: ../boards/geography/board4_2.xml.in.h, line: 32
#: ../boards/geography/board4_1.xml.in.h:15
-#: ../boards/geography/board4_2.xml.in.h:40
+#: ../boards/geography/board4_2.xml.in.h:32
msgid "South Africa"
msgstr "Africa del sud"
+#
+# File: ../boards/geography/board4_1.xml.in.h, line: 16
+# File: ../boards/geography/board4_1.xml.in.h, line: 16
+# File: ../boards/geography/board4_1.xml.in.h, line: 16
#: ../boards/geography/board4_1.xml.in.h:16
msgid "Southern Africa"
msgstr "Africa del sud"
+#
+# File: ../boards/geography/board4_1.xml.in.h, line: 17
+# File: ../boards/geography/board4_1.xml.in.h, line: 17
+# File: ../boards/geography/board4_1.xml.in.h, line: 17
#: ../boards/geography/board4_1.xml.in.h:17
-#: ../boards/geography/board4_2.xml.in.h:41
msgid "Swaziland"
msgstr "Swaziland"
+#
+# File: ../boards/geography/board4_1.xml.in.h, line: 18
+# File: ../boards/geography/board4_2.xml.in.h, line: 34
+# File: ../boards/geography/board4_1.xml.in.h, line: 18
+# File: ../boards/geography/board4_2.xml.in.h, line: 34
+# File: ../boards/geography/board4_1.xml.in.h, line: 18
+# File: ../boards/geography/board4_2.xml.in.h, line: 34
#: ../boards/geography/board4_1.xml.in.h:18
-#: ../boards/geography/board4_2.xml.in.h:42
+#: ../boards/geography/board4_2.xml.in.h:34
msgid "Tanzania"
msgstr "Tanzania"
+#
+# File: ../boards/geography/board4_1.xml.in.h, line: 20
+# File: ../boards/geography/board4_2.xml.in.h, line: 38
+# File: ../boards/geography/board4_1.xml.in.h, line: 20
+# File: ../boards/geography/board4_2.xml.in.h, line: 38
+# File: ../boards/geography/board4_1.xml.in.h, line: 20
+# File: ../boards/geography/board4_2.xml.in.h, line: 38
#: ../boards/geography/board4_1.xml.in.h:20
-#: ../boards/geography/board4_2.xml.in.h:46
+#: ../boards/geography/board4_2.xml.in.h:38
msgid "Zambia"
msgstr "Zambia"
+#
+# File: ../boards/geography/board4_1.xml.in.h, line: 21
+# File: ../boards/geography/board4_2.xml.in.h, line: 39
+# File: ../boards/geography/board4_1.xml.in.h, line: 21
+# File: ../boards/geography/board4_2.xml.in.h, line: 39
+# File: ../boards/geography/board4_1.xml.in.h, line: 21
+# File: ../boards/geography/board4_2.xml.in.h, line: 39
#: ../boards/geography/board4_1.xml.in.h:21
-#: ../boards/geography/board4_2.xml.in.h:47
+#: ../boards/geography/board4_2.xml.in.h:39
msgid "Zimbabwe"
msgstr "Zimbabwe"
-#: ../boards/geography/board4_2.xml.in.h:15
-msgid "Eritrea"
-msgstr "Eritrea"
-
+#
+# File: ../boards/geography/board5_0.xml.in.h, line: 1
+# File: ../boards/geography/board5_0.xml.in.h, line: 1
+# File: ../boards/geography/board5_0.xml.in.h, line: 1
#: ../boards/geography/board5_0.xml.in.h:1
msgid "Regions of France"
msgstr "Regioni della Francia"
+#
+# File: ../boards/geography/board6_0.xml.in.h, line: 1
+# File: ../boards/geography/board6_0.xml.in.h, line: 1
+# File: ../boards/geography/board6_0.xml.in.h, line: 1
+#: ../boards/geography/board6_0.xml.in.h:1
+msgid "Deutschland Bundesländer"
+msgstr "Deutschland Bundesländer"
+
+#
+# File: ../boards/geometry.xml.in.h, line: 1
+# File: ../boards/geometry.xml.in.h, line: 1
+# File: ../boards/geometry.xml.in.h, line: 1
#: ../boards/geometry.xml.in.h:1
msgid "Geometry"
msgstr "Geometria"
+#
+# File: ../boards/geometry.xml.in.h, line: 2
+# File: ../boards/geometry.xml.in.h, line: 2
+# File: ../boards/geometry.xml.in.h, line: 2
#: ../boards/geometry.xml.in.h:2
msgid "Geometry activities."
msgstr "Attività di geometria"
+#
+# File: ../boards/gletters.xml.in.h, line: 1
+# File: ../boards/wordsgame.xml.in.h, line: 2
+# File: ../boards/gletters.xml.in.h, line: 1
+# File: ../boards/wordsgame.xml.in.h, line: 2
+# File: ../boards/gletters.xml.in.h, line: 1
+# File: ../boards/wordsgame.xml.in.h, line: 2
#: ../boards/gletters.xml.in.h:1 ../boards/wordsgame.xml.in.h:2
msgid "Keyboard manipulation"
msgstr "Utilizzo della tastiera"
+#
+# File: ../boards/gletters.xml.in.h, line: 2
+# File: ../boards/gletters.xml.in.h, line: 2
+# File: ../boards/gletters.xml.in.h, line: 2
#: ../boards/gletters.xml.in.h:2
msgid "Letter association between the screen and the keyboard"
msgstr "Associazione tra lettere sullo schermo e sulla tastiera"
-#: ../boards/gletters.xml.in.h:3 ../src/boards/gletters.c:132
+#
+# File: ../boards/gletters.xml.in.h, line: 3
+# File: ../src/boards/gletters.c, line: 134
+# File: ../boards/gletters.xml.in.h, line: 3
+# File: ../src/boards/gletters.c, line: 134
+# File: ../boards/gletters.xml.in.h, line: 3
+# File: ../src/boards/gletters.c, line: 134
+#: ../boards/gletters.xml.in.h:3 ../src/boards/gletters.c:134
msgid "Simple Letters"
msgstr "Lettere singole"
-#: ../boards/gletters.xml.in.h:4 ../src/boards/gletters.c:133
+#
+# File: ../boards/gletters.xml.in.h, line: 4
+# File: ../src/boards/gletters.c, line: 135
+# File: ../boards/gletters.xml.in.h, line: 4
+# File: ../src/boards/gletters.c, line: 135
+# File: ../boards/gletters.xml.in.h, line: 4
+# File: ../src/boards/gletters.c, line: 135
+#: ../boards/gletters.xml.in.h:4 ../src/boards/gletters.c:135
msgid "Type the falling letters before they reach the ground"
msgstr "Scrivi le lettere cadenti prima che raggiungano terra"
+#
+# File: ../boards/gnumch-equality.xml.in.h, line: 1
+# File: ../boards/gnumch-equality.xml.in.h, line: 1
+# File: ../boards/gnumch-equality.xml.in.h, line: 1
#: ../boards/gnumch-equality.xml.in.h:1
msgid "Equality Number Munchers"
msgstr "I Mangianumeri dell'uguaglianza"
+#
+# File: ../boards/gnumch-equality.xml.in.h, line: 2
+# File: ../boards/gnumch-equality.xml.in.h, line: 2
+# File: ../boards/gnumch-equality.xml.in.h, line: 2
#: ../boards/gnumch-equality.xml.in.h:2
msgid ""
"Guide the Number Muncher to the expressions that equal the number at the top "
@@ -2149,10 +4113,21 @@ msgstr ""
"Guida il Mangianumeri alle espressioni che sono uguali al numero in cima "
"allo schermo."
+#
+# File: ../boards/gnumch-equality.xml.in.h, line: 3
+# File: ../boards/gnumch-equality.xml.in.h, line: 3
+# File: ../boards/gnumch-equality.xml.in.h, line: 3
#: ../boards/gnumch-equality.xml.in.h:3
msgid "Practice addition, multiplication, division and subtraction."
msgstr "Esercizi di addizione, moltiplicazione, divisione e sottrazione."
+#
+# File: ../boards/gnumch-equality.xml.in.h, line: 4
+# File: ../boards/gnumch-inequality.xml.in.h, line: 4
+# File: ../boards/gnumch-equality.xml.in.h, line: 4
+# File: ../boards/gnumch-inequality.xml.in.h, line: 4
+# File: ../boards/gnumch-equality.xml.in.h, line: 4
+# File: ../boards/gnumch-inequality.xml.in.h, line: 4
#: ../boards/gnumch-equality.xml.in.h:4 ../boards/gnumch-inequality.xml.in.h:4
msgid ""
"Use the arrow keys to navigate around the board and to avoid the Troggles. "
@@ -2161,20 +4136,36 @@ msgstr ""
"Usa le frecce per muoverti nella tavola e per evitare i mostri Troggle. "
"Premi la barra spaziatrice per mangiare un numero."
+#
+# File: ../boards/gnumch-factors.xml.in.h, line: 1
+# File: ../boards/gnumch-factors.xml.in.h, line: 1
+# File: ../boards/gnumch-factors.xml.in.h, line: 1
#: ../boards/gnumch-factors.xml.in.h:1
msgid "Factor Number Munchers"
msgstr "I Mangianumeri della moltiplicazione"
+#
+# File: ../boards/gnumch-factors.xml.in.h, line: 2
+# File: ../boards/gnumch-factors.xml.in.h, line: 2
+# File: ../boards/gnumch-factors.xml.in.h, line: 2
#: ../boards/gnumch-factors.xml.in.h:2
msgid ""
"Guide the Number Muncher to all the factors of the number at the top of the "
"screen."
msgstr "Guida il Mangianumeri verso i fattori del numero in cima allo schermo."
+#
+# File: ../boards/gnumch-factors.xml.in.h, line: 3
+# File: ../boards/gnumch-factors.xml.in.h, line: 3
+# File: ../boards/gnumch-factors.xml.in.h, line: 3
#: ../boards/gnumch-factors.xml.in.h:3
msgid "Learn about factors and multiples."
msgstr "Impara a conoscere fattori e multipli."
+#
+# File: ../boards/gnumch-factors.xml.in.h, line: 4
+# File: ../boards/gnumch-factors.xml.in.h, line: 4
+# File: ../boards/gnumch-factors.xml.in.h, line: 4
#: ../boards/gnumch-factors.xml.in.h:4
msgid ""
"The factors of a number are all the numbers that divide that number evenly. "
@@ -2196,6 +4187,10 @@ msgstr ""
"freccette per muoverti nella tavola ed evitare i Troggles. Premi la barra "
"spaziatrice per mangiare un numero. "
+#
+# File: ../boards/gnumch-inequality.xml.in.h, line: 1
+# File: ../boards/gnumch-inequality.xml.in.h, line: 1
+# File: ../boards/gnumch-inequality.xml.in.h, line: 1
#: ../boards/gnumch-inequality.xml.in.h:1
msgid ""
"Guide the Number Muncher to the all the expressions that do not equal the "
@@ -2204,15 +4199,27 @@ msgstr ""
"Guida il Mangianumeri verso tutte le espressioni che non sono uguali al "
"numero in cima allo schermo."
+#
+# File: ../boards/gnumch-inequality.xml.in.h, line: 2
+# File: ../boards/gnumch-inequality.xml.in.h, line: 2
+# File: ../boards/gnumch-inequality.xml.in.h, line: 2
#: ../boards/gnumch-inequality.xml.in.h:2
msgid "Inequality Number Munchers"
msgstr "I Mangianumeri della diseguaglianza"
+#
+# File: ../boards/gnumch-inequality.xml.in.h, line: 3
+# File: ../boards/gnumch-inequality.xml.in.h, line: 3
+# File: ../boards/gnumch-inequality.xml.in.h, line: 3
#: ../boards/gnumch-inequality.xml.in.h:3
msgid "Practice addition, subtraction, multiplication and division."
msgstr ""
"Esercizi con l'addizione, la sottrazione, la moltiplicazione e la divisione."
+#
+# File: ../boards/gnumch-multiples.xml.in.h, line: 1
+# File: ../boards/gnumch-multiples.xml.in.h, line: 1
+# File: ../boards/gnumch-multiples.xml.in.h, line: 1
#: ../boards/gnumch-multiples.xml.in.h:1
msgid ""
"Guide the Number Muncher to all the multiples of the number at the top of "
@@ -2220,14 +4227,26 @@ msgid ""
msgstr ""
"Guida il Mangianumeri verso tutti i multipli del numero in cima allo schermo."
+#
+# File: ../boards/gnumch-multiples.xml.in.h, line: 2
+# File: ../boards/gnumch-multiples.xml.in.h, line: 2
+# File: ../boards/gnumch-multiples.xml.in.h, line: 2
#: ../boards/gnumch-multiples.xml.in.h:2
msgid "Learn about multiples and factors."
msgstr "Impara a conoscere i multipli e i fattori."
+#
+# File: ../boards/gnumch-multiples.xml.in.h, line: 3
+# File: ../boards/gnumch-multiples.xml.in.h, line: 3
+# File: ../boards/gnumch-multiples.xml.in.h, line: 3
#: ../boards/gnumch-multiples.xml.in.h:3
msgid "Multiple Number Munchers"
msgstr "I Mangianumeri dei multipli"
+#
+# File: ../boards/gnumch-multiples.xml.in.h, line: 4
+# File: ../boards/gnumch-multiples.xml.in.h, line: 4
+# File: ../boards/gnumch-multiples.xml.in.h, line: 4
#: ../boards/gnumch-multiples.xml.in.h:4
msgid ""
"The multiples of a number are all the numbers that are equal to the original "
@@ -2258,18 +4277,34 @@ msgstr ""
"famiglie o gradini). Usa le frecce per muoverti nella tavola e per evitare i "
"Troggle. Premi la barra spaziatrice per mangiare un numero."
+#
+# File: ../boards/gnumch-primes.xml.in.h, line: 1
+# File: ../boards/gnumch-primes.xml.in.h, line: 1
+# File: ../boards/gnumch-primes.xml.in.h, line: 1
#: ../boards/gnumch-primes.xml.in.h:1
msgid "Guide the Number Muncher to all the prime numbers."
msgstr "Guida il Mangianumeri verso tutti i numeri primi."
+#
+# File: ../boards/gnumch-primes.xml.in.h, line: 2
+# File: ../boards/gnumch-primes.xml.in.h, line: 2
+# File: ../boards/gnumch-primes.xml.in.h, line: 2
#: ../boards/gnumch-primes.xml.in.h:2
msgid "Learn about prime numbers"
msgstr "Impara a conoscere i numeri primi"
+#
+# File: ../boards/gnumch-primes.xml.in.h, line: 3
+# File: ../boards/gnumch-primes.xml.in.h, line: 3
+# File: ../boards/gnumch-primes.xml.in.h, line: 3
#: ../boards/gnumch-primes.xml.in.h:3
msgid "Prime Number Munchers"
msgstr "Il Mangianumeri dei numeri primi"
+#
+# File: ../boards/gnumch-primes.xml.in.h, line: 4
+# File: ../boards/gnumch-primes.xml.in.h, line: 4
+# File: ../boards/gnumch-primes.xml.in.h, line: 4
#: ../boards/gnumch-primes.xml.in.h:4
msgid ""
"Prime numbers are numbers that are only divisible by themselves and 1. For "
@@ -2291,27 +4326,51 @@ msgstr ""
"tavola ed evitare i Troggles. Premi la barra spaziatrice per mangiare un "
"numero."
+#
+# File: ../boards/gnumchmenu.xml.in.h, line: 1
+# File: ../boards/gnumchmenu.xml.in.h, line: 1
+# File: ../boards/gnumchmenu.xml.in.h, line: 1
#: ../boards/gnumchmenu.xml.in.h:1
msgid "Go to Number Munchers activities"
msgstr "Vai alle attività dei Mangianumeri"
+#
+# File: ../boards/gnumchmenu.xml.in.h, line: 2
+# File: ../boards/gnumchmenu.xml.in.h, line: 2
+# File: ../boards/gnumchmenu.xml.in.h, line: 2
#: ../boards/gnumchmenu.xml.in.h:2
msgid "Number Munchers are games to play with arithmetic."
msgstr "I mangianumeri ti fanno giocare con l'aritmetica."
+#
+# File: ../boards/guessnumber.xml.in.h, line: 1
+# File: ../boards/guessnumber.xml.in.h, line: 1
+# File: ../boards/guessnumber.xml.in.h, line: 1
#: ../boards/guessnumber.xml.in.h:1
msgid "Guess a number"
msgstr "Indovina un numero"
+#
+# File: ../boards/guessnumber.xml.in.h, line: 2
+# File: ../boards/guessnumber.xml.in.h, line: 2
+# File: ../boards/guessnumber.xml.in.h, line: 2
#: ../boards/guessnumber.xml.in.h:2
msgid "Help Tux escape the cave. Tux hides a number for you to find."
msgstr ""
"Aiuta Tux a uscire dalla grotta. Tux nasconde un numero che tu devi scoprire."
+#
+# File: ../boards/guessnumber.xml.in.h, line: 3
+# File: ../boards/guessnumber.xml.in.h, line: 3
+# File: ../boards/guessnumber.xml.in.h, line: 3
#: ../boards/guessnumber.xml.in.h:3
msgid "Numbers from 1 to 1000 for the last level."
msgstr "Numeri da 1 a 1000 per l'ultimo livello."
+#
+# File: ../boards/guessnumber.xml.in.h, line: 4
+# File: ../boards/guessnumber.xml.in.h, line: 4
+# File: ../boards/guessnumber.xml.in.h, line: 4
#: ../boards/guessnumber.xml.in.h:4
msgid ""
"Read the instructions that give you the range of the number to find. Enter a "
@@ -2329,10 +4388,18 @@ msgstr ""
"l'uscita significa che il tuo numero è più alto o più basso di quello "
"giusto. "
+#
+# File: ../boards/hanoi.xml.in.h, line: 1
+# File: ../boards/hanoi.xml.in.h, line: 1
+# File: ../boards/hanoi.xml.in.h, line: 1
#: ../boards/hanoi.xml.in.h:1
msgid "Concept taken from EPI games."
msgstr "L'idea è presa dai giochi EPI."
+#
+# File: ../boards/hanoi.xml.in.h, line: 2
+# File: ../boards/hanoi.xml.in.h, line: 2
+# File: ../boards/hanoi.xml.in.h, line: 2
#: ../boards/hanoi.xml.in.h:2
msgid ""
"Drag and Drop one top piece at a time, from one peg to another, to reproduce "
@@ -2342,18 +4409,40 @@ msgstr ""
"sostegno all'altro per riprodurre la torre sulla destra nello spazio vuoto a "
"sinistra."
-#: ../boards/hanoi.xml.in.h:4 ../src/boards/hanoi.c:101
+#
+# File: ../boards/hanoi.xml.in.h, line: 4
+# File: ../src/boards/hanoi.c, line: 97
+# File: ../boards/hanoi.xml.in.h, line: 4
+# File: ../src/boards/hanoi.c, line: 97
+# File: ../boards/hanoi.xml.in.h, line: 4
+# File: ../src/boards/hanoi.c, line: 97
+#: ../boards/hanoi.xml.in.h:4 ../src/boards/hanoi.c:97
msgid "Reproduce the given tower"
msgstr "Riproduci la torre"
+#
+# File: ../boards/hanoi.xml.in.h, line: 5
+# File: ../boards/hanoi.xml.in.h, line: 5
+# File: ../boards/hanoi.xml.in.h, line: 5
#: ../boards/hanoi.xml.in.h:5
msgid "Reproduce the tower on the right in the empty space on the left"
msgstr "Riproduci la torre a destra nello spazio vuoto a sinistra"
-#: ../boards/hanoi.xml.in.h:6 ../src/boards/hanoi.c:100
+#
+# File: ../boards/hanoi.xml.in.h, line: 6
+# File: ../src/boards/hanoi.c, line: 96
+# File: ../boards/hanoi.xml.in.h, line: 6
+# File: ../src/boards/hanoi.c, line: 96
+# File: ../boards/hanoi.xml.in.h, line: 6
+# File: ../src/boards/hanoi.c, line: 96
+#: ../boards/hanoi.xml.in.h:6 ../src/boards/hanoi.c:96
msgid "Simplified Tower of Hanoi"
msgstr "Torre di Hanoi semplificata"
+#
+# File: ../boards/hanoi_real.xml.in.h, line: 1
+# File: ../boards/hanoi_real.xml.in.h, line: 1
+# File: ../boards/hanoi_real.xml.in.h, line: 1
#: ../boards/hanoi_real.xml.in.h:1
msgid ""
"Drag and Drop the top pieces only from one peg to another, to reproduce the "
@@ -2362,25 +4451,43 @@ msgstr ""
"Trascina e lascia i pezzi alti solo da un sostegno all'altro per riprodurre "
"la torre sulla destra nello spazio vuoto a sinistra."
+#
+# File: ../boards/hanoi_real.xml.in.h, line: 3
+# File: ../boards/hanoi_real.xml.in.h, line: 3
+# File: ../boards/hanoi_real.xml.in.h, line: 3
#: ../boards/hanoi_real.xml.in.h:3
msgid "Reproduce the tower on the right side"
msgstr "Riproduci la torre a destra"
+#
+# File: ../boards/hanoi_real.xml.in.h, line: 4
+# File: ../boards/hanoi_real.xml.in.h, line: 4
+# File: ../boards/hanoi_real.xml.in.h, line: 4
#: ../boards/hanoi_real.xml.in.h:4
msgid "The Tower of Hanoi"
msgstr "La Torre di Hanoi"
+#
+# File: ../boards/hanoi_real.xml.in.h, line: 5
+# File: ../boards/hanoi_real.xml.in.h, line: 5
+# File: ../boards/hanoi_real.xml.in.h, line: 5
#: ../boards/hanoi_real.xml.in.h:5
msgid ""
"The object of the game is to move the entire stack to another peg, obeying "
-"the following rules: * only one disc may be moved at a time * no disc may be "
-"placed atop a smaller disc"
+"the following rules:\n"
+"* only one disc may be moved at a time\n"
+"* no disc may be placed atop a smaller disc"
msgstr ""
"Lo scopo del gioco è di muovere l'intera pila di dischi su di un altro "
-"piolo, osservando le seguenti regole: *si muove un solo disco per volta* "
-"nessun disco può essere messo al di sopra di un disco più piccolo"
+"piolo, osservando le seguenti regole:\n"
+"* si muove un solo disco per volta\n"
+"* nessun disco può essere messo al di sopra di un disco più piccolo"
-#: ../boards/hanoi_real.xml.in.h:6
+#
+# File: ../boards/hanoi_real.xml.in.h, line: 8
+# File: ../boards/hanoi_real.xml.in.h, line: 8
+# File: ../boards/hanoi_real.xml.in.h, line: 8
+#: ../boards/hanoi_real.xml.in.h:8
msgid ""
"The puzzle was invented by the French mathematician Edouard Lucas in 1883. "
"There is a legend about a Hindu temple whose priests were constantly engaged "
@@ -2400,10 +4507,18 @@ msgstr ""
"chiaro se Lucas inventò questa leggenda o se fu ispirato da essa. (source "
"Wikipedia &lt;http://en.wikipedia.org/wiki/Tower_of_hanoi&gt;)"
+#
+# File: ../boards/hexagon.xml.in.h, line: 1
+# File: ../boards/hexagon.xml.in.h, line: 1
+# File: ../boards/hexagon.xml.in.h, line: 1
#: ../boards/hexagon.xml.in.h:1
msgid "Find the strawberry by clicking on the blue fields"
msgstr "Trova la fragola cliccando sui campi blu"
+#
+# File: ../boards/hexagon.xml.in.h, line: 4
+# File: ../boards/hexagon.xml.in.h, line: 4
+# File: ../boards/hexagon.xml.in.h, line: 4
#: ../boards/hexagon.xml.in.h:4
msgid ""
"Try to find the strawberry under the blue fields. The fields become redder "
@@ -2412,123 +4527,287 @@ msgstr ""
"Prova a trovare la fragola sotto i campi blu. I campi diventano più rossi "
"quanto più ti avvicini."
+#
+# File: ../boards/hexagon.xml.in.h, line: 5
+# File: ../boards/hexagon.xml.in.h, line: 5
+# File: ../boards/hexagon.xml.in.h, line: 5
#: ../boards/hexagon.xml.in.h:5
msgid "hexagon"
msgstr "esagono"
+#
+# File: ../boards/imageid.xml.in.h, line: 1
+# File: ../boards/imageid.xml.in.h, line: 1
+# File: ../boards/imageid.xml.in.h, line: 1
#: ../boards/imageid.xml.in.h:1
msgid "Click on the word corresponding to the printed image."
msgstr "Fai clic sulla parola corrispondente all'immagine mostrata."
+#
+# File: ../boards/imageid.xml.in.h, line: 2
+# File: ../boards/imageid.xml.in.h, line: 2
+# File: ../boards/imageid.xml.in.h, line: 2
#: ../boards/imageid.xml.in.h:2
msgid "Practice reading by finding the word matching an image"
msgstr ""
"Esercitarsi a leggere trovando la parola corrispondente ad una immagine"
+#
+# File: ../boards/imageid.xml.in.h, line: 3
+# File: ../boards/imagename.xml.in.h, line: 4
+# File: ../boards/readingh.xml.in.h, line: 4
+# File: ../boards/readingv.xml.in.h, line: 4
+# File: ../src/boards/imageid.c, line: 103
+# File: ../src/boards/missingletter.c, line: 101
+# File: ../boards/imageid.xml.in.h, line: 3
+# File: ../boards/imagename.xml.in.h, line: 4
+# File: ../boards/readingh.xml.in.h, line: 4
+# File: ../boards/readingv.xml.in.h, line: 4
+# File: ../src/boards/imageid.c, line: 103
+# File: ../src/boards/missingletter.c, line: 101
+# File: ../boards/imageid.xml.in.h, line: 3
+# File: ../boards/imagename.xml.in.h, line: 4
+# File: ../boards/readingh.xml.in.h, line: 4
+# File: ../boards/readingv.xml.in.h, line: 4
+# File: ../src/boards/imageid.c, line: 103
+# File: ../src/boards/missingletter.c, line: 101
#: ../boards/imageid.xml.in.h:3 ../boards/imagename.xml.in.h:4
#: ../boards/readingh.xml.in.h:4 ../boards/readingv.xml.in.h:4
-#: ../src/boards/imageid.c:112 ../src/boards/missingletter.c:104
+#: ../src/boards/imageid.c:103 ../src/boards/missingletter.c:101
msgid "Reading"
msgstr "Leggere"
+#
+# File: ../boards/imageid.xml.in.h, line: 4
+# File: ../boards/imageid.xml.in.h, line: 4
+# File: ../boards/imageid.xml.in.h, line: 4
#: ../boards/imageid.xml.in.h:4
msgid "Reading practice"
msgstr "Esercizi di lettura"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 1
+# File: ../boards/imagename/board4_0.xml.in.h, line: 2
+# File: ../boards/imageid/board1.xml.in.h, line: 1
+# File: ../boards/imagename/board4_0.xml.in.h, line: 2
+# File: ../boards/imageid/board1.xml.in.h, line: 1
+# File: ../boards/imagename/board4_0.xml.in.h, line: 2
#: ../boards/imageid/board1.xml.in.h:1 ../boards/imagename/board4_0.xml.in.h:2
msgid "apple"
msgstr "mela"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 2
+# File: ../boards/imageid/board1.xml.in.h, line: 2
+# File: ../boards/imageid/board1.xml.in.h, line: 2
#: ../boards/imageid/board1.xml.in.h:2
msgid "back"
msgstr "schiena"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 3
+# File: ../boards/imageid/board1.xml.in.h, line: 3
+# File: ../boards/imageid/board1.xml.in.h, line: 3
#: ../boards/imageid/board1.xml.in.h:3
msgid "bag"
msgstr "borsa"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 4
+# File: ../boards/imagename/board6_0.xml.in.h, line: 2
+# File: ../boards/imageid/board1.xml.in.h, line: 4
+# File: ../boards/imagename/board6_0.xml.in.h, line: 2
+# File: ../boards/imageid/board1.xml.in.h, line: 4
+# File: ../boards/imagename/board6_0.xml.in.h, line: 2
#: ../boards/imageid/board1.xml.in.h:4 ../boards/imagename/board6_0.xml.in.h:2
msgid "ball"
msgstr "palla"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 5
+# File: ../boards/imageid/board1.xml.in.h, line: 5
+# File: ../boards/imageid/board1.xml.in.h, line: 5
#: ../boards/imageid/board1.xml.in.h:5
msgid "banana"
msgstr "banana"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 6
+# File: ../boards/imageid/board1.xml.in.h, line: 6
+# File: ../boards/imageid/board1.xml.in.h, line: 6
#: ../boards/imageid/board1.xml.in.h:6
msgid "bed"
msgstr "letto"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 7
+# File: ../boards/imageid/board1.xml.in.h, line: 7
+# File: ../boards/imageid/board1.xml.in.h, line: 7
#: ../boards/imageid/board1.xml.in.h:7
msgid "boat"
msgstr "nave"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 8
+# File: ../boards/imageid/board1.xml.in.h, line: 8
+# File: ../boards/imageid/board1.xml.in.h, line: 8
#: ../boards/imageid/board1.xml.in.h:8
msgid "book"
msgstr "libro"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 9
+# File: ../boards/imagename/board2_0.xml.in.h, line: 2
+# File: ../boards/imageid/board1.xml.in.h, line: 9
+# File: ../boards/imagename/board2_0.xml.in.h, line: 2
+# File: ../boards/imageid/board1.xml.in.h, line: 9
+# File: ../boards/imagename/board2_0.xml.in.h, line: 2
#: ../boards/imageid/board1.xml.in.h:9 ../boards/imagename/board2_0.xml.in.h:2
msgid "bottle"
msgstr "bottiglia"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 10
+# File: ../boards/imageid/board1.xml.in.h, line: 10
+# File: ../boards/imageid/board1.xml.in.h, line: 10
#: ../boards/imageid/board1.xml.in.h:10
msgid "cake"
msgstr "torta"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 11
+# File: ../boards/imageid/board1.xml.in.h, line: 11
+# File: ../boards/imageid/board1.xml.in.h, line: 11
#: ../boards/imageid/board1.xml.in.h:11
msgid "camel"
msgstr "cammello"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 12
+# File: ../boards/imagename/board4_0.xml.in.h, line: 4
+# File: ../boards/imageid/board1.xml.in.h, line: 12
+# File: ../boards/imagename/board4_0.xml.in.h, line: 4
+# File: ../boards/imageid/board1.xml.in.h, line: 12
+# File: ../boards/imagename/board4_0.xml.in.h, line: 4
#: ../boards/imageid/board1.xml.in.h:12
#: ../boards/imagename/board4_0.xml.in.h:4
msgid "car"
msgstr "automobile"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 13
+# File: ../boards/imageid/board1.xml.in.h, line: 13
+# File: ../boards/imageid/board1.xml.in.h, line: 13
#: ../boards/imageid/board1.xml.in.h:13
msgid "cat"
msgstr "gatto"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 14
+# File: ../boards/imageid/board1.xml.in.h, line: 14
+# File: ../boards/imageid/board1.xml.in.h, line: 14
#: ../boards/imageid/board1.xml.in.h:14
msgid "catch"
msgstr "gancio"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 15
+# File: ../boards/imageid/board1.xml.in.h, line: 15
+# File: ../boards/imageid/board1.xml.in.h, line: 15
#: ../boards/imageid/board1.xml.in.h:15
msgid "cheese"
msgstr "formaggio"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 16
+# File: ../boards/imageid/board1.xml.in.h, line: 16
+# File: ../boards/imageid/board1.xml.in.h, line: 16
#: ../boards/imageid/board1.xml.in.h:16
msgid "cow"
msgstr "mucca"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 17
+# File: ../boards/imageid/board1.xml.in.h, line: 17
+# File: ../boards/imageid/board1.xml.in.h, line: 17
#: ../boards/imageid/board1.xml.in.h:17
msgid "dog"
msgstr "cane"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 18
+# File: ../boards/imageid/board1.xml.in.h, line: 18
+# File: ../boards/imageid/board1.xml.in.h, line: 18
#: ../boards/imageid/board1.xml.in.h:18
msgid "finish"
msgstr "traguardo"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 19
+# File: ../boards/imageid/board1.xml.in.h, line: 19
+# File: ../boards/imageid/board1.xml.in.h, line: 19
#: ../boards/imageid/board1.xml.in.h:19
msgid "fish"
msgstr "pesce"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 20
+# File: ../boards/imagename/board3_0.xml.in.h, line: 2
+# File: ../boards/imageid/board1.xml.in.h, line: 20
+# File: ../boards/imagename/board3_0.xml.in.h, line: 2
+# File: ../boards/imageid/board1.xml.in.h, line: 20
+# File: ../boards/imagename/board3_0.xml.in.h, line: 2
#: ../boards/imageid/board1.xml.in.h:20
#: ../boards/imagename/board3_0.xml.in.h:2
msgid "house"
msgstr "casa"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 21
+# File: ../boards/imageid/board1.xml.in.h, line: 21
+# File: ../boards/imageid/board1.xml.in.h, line: 21
#: ../boards/imageid/board1.xml.in.h:21
msgid "pear"
msgstr "pera"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 22
+# File: ../boards/imageid/board1.xml.in.h, line: 22
+# File: ../boards/imageid/board1.xml.in.h, line: 22
#: ../boards/imageid/board1.xml.in.h:22
msgid "plane"
msgstr "aereo"
+#
+# File: ../boards/imageid/board1.xml.in.h, line: 23
+# File: ../boards/imageid/board1.xml.in.h, line: 23
+# File: ../boards/imageid/board1.xml.in.h, line: 23
#: ../boards/imageid/board1.xml.in.h:23
msgid "satchel"
msgstr "cartella"
+#
+# File: ../boards/imagename.xml.in.h, line: 1
+# File: ../boards/imagename/board1_0.xml.in.h, line: 1
+# File: ../boards/imagename/board2_0.xml.in.h, line: 1
+# File: ../boards/imagename/board3_0.xml.in.h, line: 1
+# File: ../boards/imagename/board4_0.xml.in.h, line: 1
+# File: ../boards/imagename/board5_0.xml.in.h, line: 1
+# File: ../boards/imagename/board6_0.xml.in.h, line: 1
+# File: ../boards/imagename.xml.in.h, line: 1
+# File: ../boards/imagename/board1_0.xml.in.h, line: 1
+# File: ../boards/imagename/board2_0.xml.in.h, line: 1
+# File: ../boards/imagename/board3_0.xml.in.h, line: 1
+# File: ../boards/imagename/board4_0.xml.in.h, line: 1
+# File: ../boards/imagename/board5_0.xml.in.h, line: 1
+# File: ../boards/imagename/board6_0.xml.in.h, line: 1
+# File: ../boards/imagename.xml.in.h, line: 1
+# File: ../boards/imagename/board1_0.xml.in.h, line: 1
+# File: ../boards/imagename/board2_0.xml.in.h, line: 1
+# File: ../boards/imagename/board3_0.xml.in.h, line: 1
+# File: ../boards/imagename/board4_0.xml.in.h, line: 1
+# File: ../boards/imagename/board5_0.xml.in.h, line: 1
+# File: ../boards/imagename/board6_0.xml.in.h, line: 1
#: ../boards/imagename.xml.in.h:1 ../boards/imagename/board1_0.xml.in.h:1
#: ../boards/imagename/board2_0.xml.in.h:1
#: ../boards/imagename/board3_0.xml.in.h:1
@@ -2538,6 +4817,10 @@ msgstr "cartella"
msgid "Drag and Drop each item onto its name"
msgstr "Trascina e lascia ogni oggetto sul proprio nome"
+#
+# File: ../boards/imagename.xml.in.h, line: 2
+# File: ../boards/imagename.xml.in.h, line: 2
+# File: ../boards/imagename.xml.in.h, line: 2
#: ../boards/imagename.xml.in.h:2
msgid ""
"Drag each image from the (vertical) box on the left to its (corresponding) "
@@ -2547,138 +4830,282 @@ msgstr ""
"corrispondenti a destra. Fai clic sul tasto OK per verificare la tua "
"risposta."
+#
+# File: ../boards/imagename.xml.in.h, line: 3
+# File: ../boards/imagename.xml.in.h, line: 3
+# File: ../boards/imagename.xml.in.h, line: 3
#: ../boards/imagename.xml.in.h:3
msgid "Image Name"
msgstr "immagini e nomi"
+#
+# File: ../boards/imagename.xml.in.h, line: 5
+# File: ../boards/imagename.xml.in.h, line: 5
+# File: ../boards/imagename.xml.in.h, line: 5
#: ../boards/imagename.xml.in.h:5
msgid "Vocabulary and reading"
msgstr "Vocabolario e lettura"
+#
+# File: ../boards/imagename/board1_0.xml.in.h, line: 2
+# File: ../boards/imagename/board1_0.xml.in.h, line: 2
+# File: ../boards/imagename/board1_0.xml.in.h, line: 2
#: ../boards/imagename/board1_0.xml.in.h:2
msgid "bulb"
msgstr "lampadina"
+#
+# File: ../boards/imagename/board1_0.xml.in.h, line: 3
+# File: ../boards/imagename/board1_0.xml.in.h, line: 3
+# File: ../boards/imagename/board1_0.xml.in.h, line: 3
#: ../boards/imagename/board1_0.xml.in.h:3
msgid "fishing boat"
msgstr "peschereccio"
+#
+# File: ../boards/imagename/board1_0.xml.in.h, line: 4
+# File: ../boards/imagename/board1_0.xml.in.h, line: 4
+# File: ../boards/imagename/board1_0.xml.in.h, line: 4
#: ../boards/imagename/board1_0.xml.in.h:4
msgid "lamp"
msgstr "lampada"
+#
+# File: ../boards/imagename/board1_0.xml.in.h, line: 5
+# File: ../boards/imagename/board1_0.xml.in.h, line: 5
+# File: ../boards/imagename/board1_0.xml.in.h, line: 5
#: ../boards/imagename/board1_0.xml.in.h:5
msgid "mail box"
msgstr "buca delle lettere"
+#
+# File: ../boards/imagename/board1_0.xml.in.h, line: 6
+# File: ../boards/imagename/board5_0.xml.in.h, line: 3
+# File: ../boards/imagename/board1_0.xml.in.h, line: 6
+# File: ../boards/imagename/board5_0.xml.in.h, line: 3
+# File: ../boards/imagename/board1_0.xml.in.h, line: 6
+# File: ../boards/imagename/board5_0.xml.in.h, line: 3
#: ../boards/imagename/board1_0.xml.in.h:6
#: ../boards/imagename/board5_0.xml.in.h:3
msgid "postcard"
msgstr "cartolina"
+#
+# File: ../boards/imagename/board1_0.xml.in.h, line: 7
+# File: ../boards/imagename/board3_0.xml.in.h, line: 5
+# File: ../boards/imagename/board6_0.xml.in.h, line: 7
+# File: ../boards/imagename/board1_0.xml.in.h, line: 7
+# File: ../boards/imagename/board3_0.xml.in.h, line: 5
+# File: ../boards/imagename/board6_0.xml.in.h, line: 7
+# File: ../boards/imagename/board1_0.xml.in.h, line: 7
+# File: ../boards/imagename/board3_0.xml.in.h, line: 5
+# File: ../boards/imagename/board6_0.xml.in.h, line: 7
#: ../boards/imagename/board1_0.xml.in.h:7
#: ../boards/imagename/board3_0.xml.in.h:5
#: ../boards/imagename/board6_0.xml.in.h:7
msgid "sailing boat"
msgstr "barca a vela"
+#
+# File: ../boards/imagename/board2_0.xml.in.h, line: 3
+# File: ../boards/imagename/board2_0.xml.in.h, line: 3
+# File: ../boards/imagename/board2_0.xml.in.h, line: 3
#: ../boards/imagename/board2_0.xml.in.h:3
msgid "egg"
msgstr "uovo"
+#
+# File: ../boards/imagename/board2_0.xml.in.h, line: 4
+# File: ../boards/imagename/board2_0.xml.in.h, line: 4
+# File: ../boards/imagename/board2_0.xml.in.h, line: 4
#: ../boards/imagename/board2_0.xml.in.h:4
msgid "eggcup"
msgstr "portauovo"
+#
+# File: ../boards/imagename/board2_0.xml.in.h, line: 5
+# File: ../boards/imagename/board2_0.xml.in.h, line: 5
+# File: ../boards/imagename/board2_0.xml.in.h, line: 5
#: ../boards/imagename/board2_0.xml.in.h:5
msgid "flower"
msgstr "fiore"
+#
+# File: ../boards/imagename/board2_0.xml.in.h, line: 6
+# File: ../boards/imagename/board2_0.xml.in.h, line: 6
+# File: ../boards/imagename/board2_0.xml.in.h, line: 6
#: ../boards/imagename/board2_0.xml.in.h:6
msgid "glass"
msgstr "bicchiere"
+#
+# File: ../boards/imagename/board2_0.xml.in.h, line: 7
+# File: ../boards/imagename/board2_0.xml.in.h, line: 7
+# File: ../boards/imagename/board2_0.xml.in.h, line: 7
#: ../boards/imagename/board2_0.xml.in.h:7
msgid "vase"
msgstr "vaso"
+#
+# File: ../boards/imagename/board3_0.xml.in.h, line: 3
+# File: ../boards/imagename/board3_0.xml.in.h, line: 3
+# File: ../boards/imagename/board3_0.xml.in.h, line: 3
#: ../boards/imagename/board3_0.xml.in.h:3
msgid "light house"
msgstr "faro"
+#
+# File: ../boards/imagename/board3_0.xml.in.h, line: 4
+# File: ../boards/imagename/board3_0.xml.in.h, line: 4
+# File: ../boards/imagename/board3_0.xml.in.h, line: 4
#: ../boards/imagename/board3_0.xml.in.h:4
msgid "rocket"
msgstr "razzo"
+#
+# File: ../boards/imagename/board3_0.xml.in.h, line: 6
+# File: ../boards/imagename/board3_0.xml.in.h, line: 6
+# File: ../boards/imagename/board3_0.xml.in.h, line: 6
#: ../boards/imagename/board3_0.xml.in.h:6
msgid "sofa"
msgstr "divano"
+#
+# File: ../boards/imagename/board3_0.xml.in.h, line: 7
+# File: ../boards/imagename/board5_0.xml.in.h, line: 5
+# File: ../boards/imagename/board3_0.xml.in.h, line: 7
+# File: ../boards/imagename/board5_0.xml.in.h, line: 5
+# File: ../boards/imagename/board3_0.xml.in.h, line: 7
+# File: ../boards/imagename/board5_0.xml.in.h, line: 5
#: ../boards/imagename/board3_0.xml.in.h:7
#: ../boards/imagename/board5_0.xml.in.h:5
msgid "star"
msgstr "stella"
+#
+# File: ../boards/imagename/board4_0.xml.in.h, line: 3
+# File: ../boards/imagename/board4_0.xml.in.h, line: 3
+# File: ../boards/imagename/board4_0.xml.in.h, line: 3
#: ../boards/imagename/board4_0.xml.in.h:3
msgid "bicycle"
msgstr "bicicletta"
+#
+# File: ../boards/imagename/board4_0.xml.in.h, line: 5
+# File: ../boards/imagename/board4_0.xml.in.h, line: 5
+# File: ../boards/imagename/board4_0.xml.in.h, line: 5
#: ../boards/imagename/board4_0.xml.in.h:5
msgid "carrot"
msgstr "carota"
+#
+# File: ../boards/imagename/board4_0.xml.in.h, line: 6
+# File: ../boards/imagename/board4_0.xml.in.h, line: 6
+# File: ../boards/imagename/board4_0.xml.in.h, line: 6
#: ../boards/imagename/board4_0.xml.in.h:6
msgid "grater"
msgstr "grattugia"
+#
+# File: ../boards/imagename/board4_0.xml.in.h, line: 7
+# File: ../boards/imagename/board4_0.xml.in.h, line: 7
+# File: ../boards/imagename/board4_0.xml.in.h, line: 7
#: ../boards/imagename/board4_0.xml.in.h:7
msgid "tree"
msgstr "albero"
+#
+# File: ../boards/imagename/board5_0.xml.in.h, line: 2
+# File: ../boards/imagename/board5_0.xml.in.h, line: 2
+# File: ../boards/imagename/board5_0.xml.in.h, line: 2
#: ../boards/imagename/board5_0.xml.in.h:2
msgid "pencil"
msgstr "matita"
+#
+# File: ../boards/imagename/board5_0.xml.in.h, line: 4
+# File: ../boards/imagename/board5_0.xml.in.h, line: 4
+# File: ../boards/imagename/board5_0.xml.in.h, line: 4
#: ../boards/imagename/board5_0.xml.in.h:4
msgid "spruce"
msgstr "pino"
+#
+# File: ../boards/imagename/board5_0.xml.in.h, line: 6
+# File: ../boards/imagename/board5_0.xml.in.h, line: 6
+# File: ../boards/imagename/board5_0.xml.in.h, line: 6
#: ../boards/imagename/board5_0.xml.in.h:6
msgid "truck"
msgstr "camion"
+#
+# File: ../boards/imagename/board5_0.xml.in.h, line: 7
+# File: ../boards/imagename/board5_0.xml.in.h, line: 7
+# File: ../boards/imagename/board5_0.xml.in.h, line: 7
#: ../boards/imagename/board5_0.xml.in.h:7
msgid "van"
msgstr "furgone"
+#
+# File: ../boards/imagename/board6_0.xml.in.h, line: 3
+# File: ../boards/imagename/board6_0.xml.in.h, line: 3
+# File: ../boards/imagename/board6_0.xml.in.h, line: 3
#: ../boards/imagename/board6_0.xml.in.h:3
msgid "castle"
msgstr "castello"
+#
+# File: ../boards/imagename/board6_0.xml.in.h, line: 4
+# File: ../boards/imagename/board6_0.xml.in.h, line: 4
+# File: ../boards/imagename/board6_0.xml.in.h, line: 4
#: ../boards/imagename/board6_0.xml.in.h:4
msgid "crown"
msgstr "corona"
+#
+# File: ../boards/imagename/board6_0.xml.in.h, line: 5
+# File: ../boards/imagename/board6_0.xml.in.h, line: 5
+# File: ../boards/imagename/board6_0.xml.in.h, line: 5
#: ../boards/imagename/board6_0.xml.in.h:5
msgid "flag"
msgstr "bandiera"
+#
+# File: ../boards/imagename/board6_0.xml.in.h, line: 6
+# File: ../boards/imagename/board6_0.xml.in.h, line: 6
+# File: ../boards/imagename/board6_0.xml.in.h, line: 6
#: ../boards/imagename/board6_0.xml.in.h:6
msgid "racket"
msgstr "racchetta"
+#
+# File: ../boards/keyboard.xml.in.h, line: 1
+# File: ../boards/keyboard.xml.in.h, line: 1
+# File: ../boards/keyboard.xml.in.h, line: 1
#: ../boards/keyboard.xml.in.h:1
msgid "Discover the keyboard."
msgstr "Scopri la tastiera."
+#
+# File: ../boards/keyboard.xml.in.h, line: 2
+# File: ../boards/keyboard.xml.in.h, line: 2
+# File: ../boards/keyboard.xml.in.h, line: 2
#: ../boards/keyboard.xml.in.h:2
msgid "Keyboard-manipulation boards"
msgstr "Tavole per l'utilizzo della tastiera"
+#
+# File: ../boards/leftright.xml.in.h, line: 1
+# File: ../boards/leftright.xml.in.h, line: 1
+# File: ../boards/leftright.xml.in.h, line: 1
#: ../boards/leftright.xml.in.h:1
msgid "Determine if a hand is a right or a left hand"
msgstr "Stabilisci se è una mano destra o una mano sinistra"
+#
+# File: ../boards/leftright.xml.in.h, line: 2
+# File: ../boards/leftright.xml.in.h, line: 2
+# File: ../boards/leftright.xml.in.h, line: 2
#: ../boards/leftright.xml.in.h:2
msgid ""
"Distinguish right and left hands from different points of view. Spatial "
@@ -2687,14 +5114,29 @@ msgstr ""
"Distinguere dai vari punti di vista la mano destra dalla sinistra. "
"Rappresentazione spaziale"
+#
+# File: ../boards/leftright.xml.in.h, line: 3
+# File: ../boards/leftright.xml.in.h, line: 3
+# File: ../boards/leftright.xml.in.h, line: 3
#: ../boards/leftright.xml.in.h:3
msgid "Find your left and right hands"
msgstr "Riconosci la tua mano destra e sinistra"
+#
+# File: ../boards/leftright.xml.in.h, line: 4
+# File: ../boards/railroad.xml.in.h, line: 4
+# File: ../boards/leftright.xml.in.h, line: 4
+# File: ../boards/railroad.xml.in.h, line: 4
+# File: ../boards/leftright.xml.in.h, line: 4
+# File: ../boards/railroad.xml.in.h, line: 4
#: ../boards/leftright.xml.in.h:4 ../boards/railroad.xml.in.h:4
msgid "None"
msgstr "Nessuno"
+#
+# File: ../boards/leftright.xml.in.h, line: 5
+# File: ../boards/leftright.xml.in.h, line: 5
+# File: ../boards/leftright.xml.in.h, line: 5
#: ../boards/leftright.xml.in.h:5
msgid ""
"You can see a hand: is it a left hand or a right hand? Click on the red "
@@ -2703,16 +5145,28 @@ msgstr ""
"Viene mostrata una mano: è la mano sinistra o la mano destra? Fai clic sul "
"pulsante rosso a sinistra o su quello verde a destra."
+#
+# File: ../boards/login.xml.in.h, line: 1
+# File: ../boards/login.xml.in.h, line: 1
+# File: ../boards/login.xml.in.h, line: 1
#: ../boards/login.xml.in.h:1
msgid ""
"GCompris identifies each child, so we can provide child-specific reports."
msgstr ""
"GCompris identifica ogni bambino in modo da poter fornire rapporti specifici."
+#
+# File: ../boards/login.xml.in.h, line: 2
+# File: ../boards/login.xml.in.h, line: 2
+# File: ../boards/login.xml.in.h, line: 2
#: ../boards/login.xml.in.h:2
msgid "GCompris login screen"
msgstr "Schermata di login di GCompris"
+#
+# File: ../boards/login.xml.in.h, line: 3
+# File: ../boards/login.xml.in.h, line: 3
+# File: ../boards/login.xml.in.h, line: 3
#: ../boards/login.xml.in.h:3
msgid ""
"In order to activate the login screen, you must \n"
@@ -2735,45 +5189,224 @@ msgstr ""
"profile' dove 'profilo'\n"
"è il nome di un profilo come tu lo hai creato nell'amministrazione."
+#
+# File: ../boards/login.xml.in.h, line: 10
+# File: ../boards/login.xml.in.h, line: 10
+# File: ../boards/login.xml.in.h, line: 10
#: ../boards/login.xml.in.h:10
msgid "Select or enter your name to log in to GCompris"
msgstr "Seleziona o inserisci il tuo nome per entrare in GCompris"
+#
+# File: ../boards/magic_hat_plus.xml.in.h, line: 1
+# File: ../boards/memory_add.xml.in.h, line: 1
+# File: ../boards/magic_hat_plus.xml.in.h, line: 1
+# File: ../boards/memory_add.xml.in.h, line: 1
+# File: ../boards/magic_hat_plus.xml.in.h, line: 1
+# File: ../boards/memory_add.xml.in.h, line: 1
+#: ../boards/magic_hat_plus.xml.in.h:1 ../boards/memory_add.xml.in.h:1
+msgid "Addition"
+msgstr "Addizione"
+
+#
+# File: ../boards/magic_hat_plus.xml.in.h, line: 2
+# File: ../boards/magic_hat_plus.xml.in.h, line: 2
+# File: ../boards/magic_hat_plus.xml.in.h, line: 2
+#: ../boards/magic_hat_plus.xml.in.h:2
+msgid ""
+"Click on the hat to open or close it. Under the hat, how many stars can you "
+"see moving around? Count carefully. :) Click in the bottom-right area to "
+"input your answer."
+msgstr ""
+"Fai clic sul cappello per sollevarlo o abbassarlo. Quante stelle entrano ed "
+"escono dal cappello? Conta con attenzione. :) Clicca nell'area in basso a "
+"destra per inserire la tua risposta."
+
+#
+# File: ../boards/magic_hat_plus.xml.in.h, line: 3
+# File: ../boards/magic_hat_plus.xml.in.h, line: 3
+# File: ../boards/magic_hat_plus.xml.in.h, line: 3
+#: ../boards/magic_hat_plus.xml.in.h:3
+msgid "Count how many items are under the magic hat"
+msgstr "Conta quanti oggetti sono sotto il cappello magico"
+
+#
+# File: ../boards/magic_hat_plus.xml.in.h, line: 4
+# File: ../boards/magic_hat_plus.xml.in.h, line: 4
+# File: ../boards/magic_hat_plus.xml.in.h, line: 4
+#: ../boards/magic_hat_plus.xml.in.h:4
+msgid "Learn addition"
+msgstr "Impara l'addizione"
+
+#
+# File: ../boards/magic_hat_plus.xml.in.h, line: 5
+# File: ../boards/magic_hat_minus.xml.in.h, line: 5
+# File: ../boards/magic_hat_plus.xml.in.h, line: 5
+# File: ../boards/magic_hat_minus.xml.in.h, line: 5
+# File: ../boards/magic_hat_plus.xml.in.h, line: 5
+# File: ../boards/magic_hat_minus.xml.in.h, line: 5
+#: ../boards/magic_hat_plus.xml.in.h:5 ../boards/magic_hat_minus.xml.in.h:5
+msgid "The magician hat"
+msgstr "Il cappello magico"
+
+#
+# File: ../boards/magic_hat_minus.xml.in.h, line: 1
+# File: ../boards/magic_hat_minus.xml.in.h, line: 1
+# File: ../boards/magic_hat_minus.xml.in.h, line: 1
+#: ../boards/magic_hat_minus.xml.in.h:1
+msgid "Count how many items are under the magic hat after some have got away"
+msgstr ""
+"Conta quanti oggetti rimangono sotto il cappello dopo che alcuni sono stati "
+"tolti"
+
+#
+# File: ../boards/magic_hat_minus.xml.in.h, line: 2
+# File: ../boards/magic_hat_minus.xml.in.h, line: 2
+# File: ../boards/magic_hat_minus.xml.in.h, line: 2
+#: ../boards/magic_hat_minus.xml.in.h:2
+msgid "Learn subtraction"
+msgstr "Impara la sottrazione"
+
+#
+# File: ../boards/magic_hat_minus.xml.in.h, line: 3
+# File: ../boards/magic_hat_minus.xml.in.h, line: 3
+# File: ../boards/magic_hat_minus.xml.in.h, line: 3
+#: ../boards/magic_hat_minus.xml.in.h:3
+msgid ""
+"Look at the magician, he tells the number of stars that are under his magic "
+"hat. Then, click on the hat to open it. A few stars escape. Click again on "
+"the hat to close it. You have to count how many are still under the hat. "
+"Click on the bottom right area to answer."
+msgstr ""
+"Guarda il mago, ti dice il numero delle stelle che sono sotto il suo "
+"cappello magico. Poi fai clic sul cappello per sollevarlo. Alcune stelle "
+"scapperanno. Fai ancora clic sul cappello per abbassarlo. Devi contare "
+"quante stelle sono rimaste sotto il cappello. Clicca sull'area in basso a "
+"destra per rispondere."
+
+#
+# File: ../boards/magic_hat_minus.xml.in.h, line: 4
+# File: ../boards/memory_add_minus.xml.in.h, line: 3
+# File: ../boards/memory_add_minus_tux.xml.in.h, line: 3
+# File: ../boards/memory_minus.xml.in.h, line: 2
+# File: ../boards/memory_minus_tux.xml.in.h, line: 2
+# File: ../boards/magic_hat_minus.xml.in.h, line: 4
+# File: ../boards/memory_add_minus.xml.in.h, line: 3
+# File: ../boards/memory_add_minus_tux.xml.in.h, line: 3
+# File: ../boards/memory_minus.xml.in.h, line: 2
+# File: ../boards/memory_minus_tux.xml.in.h, line: 2
+# File: ../boards/magic_hat_minus.xml.in.h, line: 4
+# File: ../boards/memory_add_minus.xml.in.h, line: 3
+# File: ../boards/memory_add_minus_tux.xml.in.h, line: 3
+# File: ../boards/memory_minus.xml.in.h, line: 2
+# File: ../boards/memory_minus_tux.xml.in.h, line: 2
+#: ../boards/magic_hat_minus.xml.in.h:4 ../boards/memory_add_minus.xml.in.h:3
+#: ../boards/memory_add_minus_tux.xml.in.h:3 ../boards/memory_minus.xml.in.h:2
+#: ../boards/memory_minus_tux.xml.in.h:2
+msgid "Subtraction"
+msgstr "Sottrazione"
+
+#
+# File: ../boards/math.xml.in.h, line: 1
+# File: ../boards/math.xml.in.h, line: 1
+# File: ../boards/math.xml.in.h, line: 1
#: ../boards/math.xml.in.h:1
msgid "Mathematical activities."
msgstr "Attività di matematica."
+#
+# File: ../boards/math.xml.in.h, line: 2
+# File: ../boards/math.xml.in.h, line: 2
+# File: ../boards/math.xml.in.h, line: 2
#: ../boards/math.xml.in.h:2
msgid "Mathematics"
msgstr "Matematica"
+#
+# File: ../boards/maze.xml.in.h, line: 1
+# File: ../boards/maze2DRelative.xml.in.h, line: 1
+# File: ../boards/maze3D.xml.in.h, line: 2
+# File: ../boards/mazeInvisible.xml.in.h, line: 1
+# File: ../boards/maze.xml.in.h, line: 1
+# File: ../boards/maze2DRelative.xml.in.h, line: 1
+# File: ../boards/maze3D.xml.in.h, line: 2
+# File: ../boards/mazeInvisible.xml.in.h, line: 1
+# File: ../boards/maze.xml.in.h, line: 1
+# File: ../boards/maze2DRelative.xml.in.h, line: 1
+# File: ../boards/maze3D.xml.in.h, line: 2
+# File: ../boards/mazeInvisible.xml.in.h, line: 1
#: ../boards/maze.xml.in.h:1 ../boards/maze2DRelative.xml.in.h:1
#: ../boards/maze3D.xml.in.h:2 ../boards/mazeInvisible.xml.in.h:1
msgid "Can use the keyboard arrow to move an object."
msgstr "Puoi usare le freccette della tastiera per muovere un oggetto."
-#: ../boards/maze.xml.in.h:2 ../src/boards/maze.c:133
+#
+# File: ../boards/maze.xml.in.h, line: 2
+# File: ../src/boards/maze.c, line: 129
+# File: ../boards/maze.xml.in.h, line: 2
+# File: ../src/boards/maze.c, line: 129
+# File: ../boards/maze.xml.in.h, line: 2
+# File: ../src/boards/maze.c, line: 129
+#: ../boards/maze.xml.in.h:2 ../src/boards/maze.c:129
msgid "Find your way out of the maze"
msgstr "Trova la tua via d'uscita dal labirinto"
+#
+# File: ../boards/maze.xml.in.h, line: 3
+# File: ../boards/maze2DRelative.xml.in.h, line: 3
+# File: ../boards/maze3D.xml.in.h, line: 4
+# File: ../boards/mazeInvisible.xml.in.h, line: 3
+# File: ../boards/maze.xml.in.h, line: 3
+# File: ../boards/maze2DRelative.xml.in.h, line: 3
+# File: ../boards/maze3D.xml.in.h, line: 4
+# File: ../boards/mazeInvisible.xml.in.h, line: 3
+# File: ../boards/maze.xml.in.h, line: 3
+# File: ../boards/maze2DRelative.xml.in.h, line: 3
+# File: ../boards/maze3D.xml.in.h, line: 4
+# File: ../boards/mazeInvisible.xml.in.h, line: 3
#: ../boards/maze.xml.in.h:3 ../boards/maze2DRelative.xml.in.h:3
#: ../boards/maze3D.xml.in.h:4 ../boards/mazeInvisible.xml.in.h:3
msgid "Help Tux get out of this maze."
msgstr "Aiuta Tux ad uscire da questo labirinto."
+#
+# File: ../boards/maze.xml.in.h, line: 4
+# File: ../boards/maze2DRelative.xml.in.h, line: 4
+# File: ../boards/mazeInvisible.xml.in.h, line: 4
+# File: ../src/boards/maze.c, line: 128
+# File: ../boards/maze.xml.in.h, line: 4
+# File: ../boards/maze2DRelative.xml.in.h, line: 4
+# File: ../boards/mazeInvisible.xml.in.h, line: 4
+# File: ../src/boards/maze.c, line: 128
+# File: ../boards/maze.xml.in.h, line: 4
+# File: ../boards/maze2DRelative.xml.in.h, line: 4
+# File: ../boards/mazeInvisible.xml.in.h, line: 4
+# File: ../src/boards/maze.c, line: 128
#: ../boards/maze.xml.in.h:4 ../boards/maze2DRelative.xml.in.h:4
-#: ../boards/mazeInvisible.xml.in.h:4 ../src/boards/maze.c:132
+#: ../boards/mazeInvisible.xml.in.h:4 ../src/boards/maze.c:128
msgid "Maze"
msgstr "Labirinto"
+#
+# File: ../boards/maze.xml.in.h, line: 5
+# File: ../boards/maze.xml.in.h, line: 5
+# File: ../boards/maze.xml.in.h, line: 5
#: ../boards/maze.xml.in.h:5
msgid "Use the keyboard arrows to move Tux up to the door."
msgstr "Usa le freccette per muovere Tux fino alla porta."
+#
+# File: ../boards/maze2DRelative.xml.in.h, line: 2
+# File: ../boards/maze2DRelative.xml.in.h, line: 2
+# File: ../boards/maze2DRelative.xml.in.h, line: 2
#: ../boards/maze2DRelative.xml.in.h:2
msgid "Find your way out of the maze (Move is relative)"
msgstr "Trova la tua via d'uscita dal labirinto (il movimento è relativo)"
+#
+# File: ../boards/maze2DRelative.xml.in.h, line: 5
+# File: ../boards/maze2DRelative.xml.in.h, line: 5
+# File: ../boards/maze2DRelative.xml.in.h, line: 5
#: ../boards/maze2DRelative.xml.in.h:5
msgid ""
"Use the keyboard arrows to move Tux up to the door. In this maze, the move "
@@ -2785,14 +5418,26 @@ msgstr ""
"verso l'alto per andare avanti. Le altre frecce faranno girare tux nelle "
"altre direzioni."
+#
+# File: ../boards/maze3D.xml.in.h, line: 1
+# File: ../boards/maze3D.xml.in.h, line: 1
+# File: ../boards/maze3D.xml.in.h, line: 1
#: ../boards/maze3D.xml.in.h:1
msgid "3D Maze"
msgstr "Labirinto 3D"
+#
+# File: ../boards/maze3D.xml.in.h, line: 3
+# File: ../boards/maze3D.xml.in.h, line: 3
+# File: ../boards/maze3D.xml.in.h, line: 3
#: ../boards/maze3D.xml.in.h:3
msgid "Find your way out of the 3D maze"
msgstr "Trova la via d'uscita dal labirinto 3D"
+#
+# File: ../boards/maze3D.xml.in.h, line: 5
+# File: ../boards/maze3D.xml.in.h, line: 5
+# File: ../boards/maze3D.xml.in.h, line: 5
#: ../boards/maze3D.xml.in.h:5
msgid ""
"Use the keyboard arrows to move Tux up to the door. Use the spacebar to "
@@ -2804,10 +5449,18 @@ msgstr ""
"un'indicazione riguardo alla tua posizione come in una mappa. Non puoi "
"muovere Tux in modalità 2D."
+#
+# File: ../boards/mazeInvisible.xml.in.h, line: 2
+# File: ../boards/mazeInvisible.xml.in.h, line: 2
+# File: ../boards/mazeInvisible.xml.in.h, line: 2
#: ../boards/mazeInvisible.xml.in.h:2
msgid "Find your way out of the invisible maze"
msgstr "Trova la tua via d'uscita dal labirinto invisibile"
+#
+# File: ../boards/mazeInvisible.xml.in.h, line: 5
+# File: ../boards/mazeInvisible.xml.in.h, line: 5
+# File: ../boards/mazeInvisible.xml.in.h, line: 5
#: ../boards/mazeInvisible.xml.in.h:5
msgid ""
"Use the keyboard arrows to move Tux up to the door. Use the spacebar to "
@@ -2819,18 +5472,34 @@ msgstr ""
"visibile ti dà solo un'indicazione riguardo alla tua posizione come una "
"mappa. Non puoi muovere Tux in modalità visibile."
+#
+# File: ../boards/mazeMenu.xml.in.h, line: 1
+# File: ../boards/mazeMenu.xml.in.h, line: 1
+# File: ../boards/mazeMenu.xml.in.h, line: 1
#: ../boards/mazeMenu.xml.in.h:1
msgid "Find your way out of different types of mazes"
msgstr "Trova la tua via d'uscita dai differenti tipi di labirinto"
+#
+# File: ../boards/mazeMenu.xml.in.h, line: 2
+# File: ../boards/mazeMenu.xml.in.h, line: 2
+# File: ../boards/mazeMenu.xml.in.h, line: 2
#: ../boards/mazeMenu.xml.in.h:2
msgid "Go to Maze activities"
msgstr "Vai alle attività del labirinto"
+#
+# File: ../boards/melody.xml.in.h, line: 1
+# File: ../boards/melody.xml.in.h, line: 1
+# File: ../boards/melody.xml.in.h, line: 1
#: ../boards/melody.xml.in.h:1
msgid "Ear-training activity"
msgstr "Esercizi d'ascolto"
+#
+# File: ../boards/melody.xml.in.h, line: 2
+# File: ../boards/melody.xml.in.h, line: 2
+# File: ../boards/melody.xml.in.h, line: 2
#: ../boards/melody.xml.in.h:2
msgid ""
"Listen to the sound sequence played, and repeat it by clicking on the "
@@ -2839,14 +5508,26 @@ msgstr ""
"Ascolta la sequenza di suoni e riproduciola cliccando sugli elementi. Puoi "
"riascoltarla cliccando sul tasto di ripetizione."
+#
+# File: ../boards/melody.xml.in.h, line: 3
+# File: ../boards/melody.xml.in.h, line: 3
+# File: ../boards/melody.xml.in.h, line: 3
#: ../boards/melody.xml.in.h:3
msgid "Melody"
msgstr "Melodia"
+#
+# File: ../boards/melody.xml.in.h, line: 5
+# File: ../boards/melody.xml.in.h, line: 5
+# File: ../boards/melody.xml.in.h, line: 5
#: ../boards/melody.xml.in.h:5
msgid "Repeat a melody"
msgstr "Ripeti una melodia"
+#
+# File: ../boards/memory.xml.in.h, line: 1
+# File: ../boards/memory.xml.in.h, line: 1
+# File: ../boards/memory.xml.in.h, line: 1
#: ../boards/memory.xml.in.h:1
msgid ""
"A set of blank cards is shown. Each card has a picture on the other side, "
@@ -2862,26 +5543,610 @@ msgstr ""
"perciò devi ricordare la posizione delle figure mentre cerchi di formare le "
"coppie. Quando avrai scoperto una coppia di carte, queste scompariranno."
+#
+# File: ../boards/memory.xml.in.h, line: 2
+# File: ../boards/memory.xml.in.h, line: 2
+# File: ../boards/memory.xml.in.h, line: 2
#: ../boards/memory.xml.in.h:2
msgid "Flip the cards to find the matching pairs"
msgstr "Scopri le carte e trova le coppie corrispondenti"
+#
+# File: ../boards/memory.xml.in.h, line: 3
+# File: ../boards/memory.xml.in.h, line: 3
+# File: ../boards/memory.xml.in.h, line: 3
#: ../boards/memory.xml.in.h:3
msgid "Memory Game with images"
msgstr "Giochi di memoria con immagini"
+#
+# File: ../boards/memory.xml.in.h, line: 5
+# File: ../boards/memory_tux.xml.in.h, line: 4
+# File: ../boards/memory.xml.in.h, line: 5
+# File: ../boards/memory_tux.xml.in.h, line: 4
+# File: ../boards/memory.xml.in.h, line: 5
+# File: ../boards/memory_tux.xml.in.h, line: 4
#: ../boards/memory.xml.in.h:5 ../boards/memory_tux.xml.in.h:4
msgid "Train your memory and remove all the cards"
msgstr "Allena la tua memoria e rimuovi tutte le carte"
+#
+# File: ../boards/memory_add.xml.in.h, line: 2
+# File: ../boards/memory_add.xml.in.h, line: 2
+# File: ../boards/memory_add.xml.in.h, line: 2
+#: ../boards/memory_add.xml.in.h:2
+msgid "Addition memory game"
+msgstr "Gioco di memoria con l'addizione"
+
+#
+# File: ../boards/memory_add.xml.in.h, line: 3
+# File: ../boards/memory_add_tux.xml.in.h, line: 3
+# File: ../boards/memory_add.xml.in.h, line: 3
+# File: ../boards/memory_add_tux.xml.in.h, line: 3
+# File: ../boards/memory_add.xml.in.h, line: 3
+# File: ../boards/memory_add_tux.xml.in.h, line: 3
+#: ../boards/memory_add.xml.in.h:3 ../boards/memory_add_tux.xml.in.h:3
+msgid "Practise adding up, until all the cards are gone."
+msgstr "Esercitati con l'addizione finché tutte le carte sono esaurite."
+
+#
+# File: ../boards/memory_add.xml.in.h, line: 4
+# File: ../boards/memory_add_tux.xml.in.h, line: 4
+# File: ../boards/memory_add.xml.in.h, line: 4
+# File: ../boards/memory_add_tux.xml.in.h, line: 4
+# File: ../boards/memory_add.xml.in.h, line: 4
+# File: ../boards/memory_add_tux.xml.in.h, line: 4
+#: ../boards/memory_add.xml.in.h:4 ../boards/memory_add_tux.xml.in.h:4
+msgid ""
+"Turn the cards over to find two numbers which add up the same, until all the "
+"cards are gone."
+msgstr ""
+"Gira le carte per trovarne due che formino una addizione corretta, finché "
+"tutte le carte sono esaurite."
+
+#
+# File: ../boards/memory_add.xml.in.h, line: 5
+# File: ../boards/memory_add_tux.xml.in.h, line: 5
+# File: ../boards/memory_add.xml.in.h, line: 5
+# File: ../boards/memory_add_tux.xml.in.h, line: 5
+# File: ../boards/memory_add.xml.in.h, line: 5
+# File: ../boards/memory_add_tux.xml.in.h, line: 5
+#: ../boards/memory_add.xml.in.h:5 ../boards/memory_add_tux.xml.in.h:5
+msgid ""
+"You can see some cards, but you can't see what's on the other side of them. "
+"Each card is hiding an adding-up sum, or the answer to the sum.\n"
+"An adding-up sum looks like this: 2 + 2 = 4\n"
+"The numbers on one side of the equals sign (=) have to be the same as the "
+"number on the other side. So 2 (1, 2) and 2 more (3, 4) makes 4. Count aloud "
+"when you work this out, and count on your fingers, because the more ways you "
+"do something, the better you remember it. You can also use blocks, or "
+"buttons, or anything you can count. If you have lots of brothers and "
+"sisters, you can count them! Or the kids in your class at school. Sing "
+"counting songs. Count lots of things, for practice, and you'll be very good "
+"at adding-up!\n"
+"\n"
+"In this game, these cards are hiding the two parts of an adding-up sum (also "
+"called an addition sum). You need to find the two parts of the sum, and "
+"bring them together again. Click on a card to see what number it's hiding, "
+"then try to find the other card that goes with it, to make a whole sum. You "
+"can only turn over two cards in one go, so you need to remember where the "
+"numbers are hiding, then you can match them when you find their other half. "
+"You're doing the job of the equals sign, and the numbers need you to put "
+"them together and make a proper sum. When you do that, both those cards "
+"disappear! When you've made them all disappear, found all the sums, you've "
+"won the game! :)"
+msgstr ""
+"Puoi vedere alcune carte, ma non quello che c'è sull'altro lato di queste "
+"carte. Ogni carta nasconde una somma o il risultato di una somma.\n"
+"Un esempio di somma è: 2 + 2 = 4\n"
+"I numeri da un lato del segno uguale (=) devono corrispondere al numero "
+"dall'altro lato. Quindi 2 (1, 2) più 2 (3, 4) fa 4. Quando giochi conta ad "
+"alta voce e conta le tue dita, perché in più modi fai qualcosa meglio la "
+"ricorderai. Puoi anche usare dei mattoncini o i bottoni o qualsiasi cosa tu "
+"possa contare. Se hai molti fratelli e sorelle puoi contare loro! O i "
+"bambini nella tua classe a scuola. Canta canzoni sui numeri. Conta molte "
+"cose per esercitarti e diventerai bravo con l'addizione!\n"
+"\n"
+"In questo gioco le carte nascondono le due parti di una somma (chiamata "
+"anche addizione). Tu hai bisogno di trovare le due parti della somma e "
+"metterle insieme. Fai clic su una carta per vedere che numero nasconde, poi "
+"prova a trovare l'altra carta che insieme a questa completa la somma. Puoi "
+"girare solo due carte per volta, perciò devi ricordare dove sono nascosti i "
+"numeri per collegarli alla parte mancante, quando l'avrai trovata. Stai "
+"facendo il lavoro del segno uguale e devi unire i numeri per formare la "
+"somma giusta. Quando sarai riuscito a farlo, entrambe le carte "
+"scompariranno! Vincerai il gioco quando le avrai fatte scomparire tutte e "
+"avrai trovato tutte le operazioni! :) "
+
+#
+# File: ../boards/memory_add_minus.xml.in.h, line: 1
+# File: ../boards/memory_add_minus.xml.in.h, line: 1
+# File: ../boards/memory_add_minus.xml.in.h, line: 1
+#: ../boards/memory_add_minus.xml.in.h:1
+msgid "Addition and subtraction memory game"
+msgstr "Gioco di memoria con l'addizione e la sottrazione"
+
+#
+# File: ../boards/memory_add_minus.xml.in.h, line: 2
+# File: ../boards/memory_add_minus_tux.xml.in.h, line: 2
+# File: ../boards/memory_add_minus.xml.in.h, line: 2
+# File: ../boards/memory_add_minus_tux.xml.in.h, line: 2
+# File: ../boards/memory_add_minus.xml.in.h, line: 2
+# File: ../boards/memory_add_minus_tux.xml.in.h, line: 2
+#: ../boards/memory_add_minus.xml.in.h:2
+#: ../boards/memory_add_minus_tux.xml.in.h:2
+msgid "Practise addition, subtraction, until all the cards are gone."
+msgstr ""
+"Esercitati con l'addizione e la sottrazione, finché tutte le carte sono "
+"esaurite."
+
+#
+# File: ../boards/memory_add_minus.xml.in.h, line: 4
+# File: ../boards/memory_add_minus_tux.xml.in.h, line: 4
+# File: ../boards/memory_add_minus.xml.in.h, line: 4
+# File: ../boards/memory_add_minus_tux.xml.in.h, line: 4
+# File: ../boards/memory_add_minus.xml.in.h, line: 4
+# File: ../boards/memory_add_minus_tux.xml.in.h, line: 4
+#: ../boards/memory_add_minus.xml.in.h:4
+#: ../boards/memory_add_minus_tux.xml.in.h:4
+msgid ""
+"Turn the cards over to find two numbers which add or subtract the same, "
+"until all the cards are gone."
+msgstr ""
+"Gira le carte per trovare due numeri che appartengono alla stessa somma o "
+"sottrazione, finché tutte le carte sono esaurite."
+
+#
+# File: ../boards/memory_add_minus.xml.in.h, line: 5
+# File: ../boards/memory_add_minus_mult_div.xml.in.h, line: 5
+# File: ../boards/memory_add_minus_mult_div_tux.xml.in.h, line: 5
+# File: ../boards/memory_add_minus_tux.xml.in.h, line: 5
+# File: ../boards/memory_div.xml.in.h, line: 5
+# File: ../boards/memory_div_tux.xml.in.h, line: 5
+# File: ../boards/memory_mult.xml.in.h, line: 5
+# File: ../boards/memory_mult_div.xml.in.h, line: 5
+# File: ../boards/memory_mult_div_tux.xml.in.h, line: 5
+# File: ../boards/memory_mult_tux.xml.in.h, line: 5
+# File: ../boards/memory_add_minus.xml.in.h, line: 5
+# File: ../boards/memory_add_minus_mult_div.xml.in.h, line: 5
+# File: ../boards/memory_add_minus_mult_div_tux.xml.in.h, line: 5
+# File: ../boards/memory_add_minus_tux.xml.in.h, line: 5
+# File: ../boards/memory_div.xml.in.h, line: 5
+# File: ../boards/memory_div_tux.xml.in.h, line: 5
+# File: ../boards/memory_mult.xml.in.h, line: 5
+# File: ../boards/memory_mult_div.xml.in.h, line: 5
+# File: ../boards/memory_mult_div_tux.xml.in.h, line: 5
+# File: ../boards/memory_mult_tux.xml.in.h, line: 5
+# File: ../boards/memory_add_minus.xml.in.h, line: 5
+# File: ../boards/memory_add_minus_mult_div.xml.in.h, line: 5
+# File: ../boards/memory_add_minus_mult_div_tux.xml.in.h, line: 5
+# File: ../boards/memory_add_minus_tux.xml.in.h, line: 5
+# File: ../boards/memory_div.xml.in.h, line: 5
+# File: ../boards/memory_div_tux.xml.in.h, line: 5
+# File: ../boards/memory_mult.xml.in.h, line: 5
+# File: ../boards/memory_mult_div.xml.in.h, line: 5
+# File: ../boards/memory_mult_div_tux.xml.in.h, line: 5
+# File: ../boards/memory_mult_tux.xml.in.h, line: 5
+#: ../boards/memory_add_minus.xml.in.h:5
+#: ../boards/memory_add_minus_mult_div.xml.in.h:5
+#: ../boards/memory_add_minus_mult_div_tux.xml.in.h:5
+#: ../boards/memory_add_minus_tux.xml.in.h:5 ../boards/memory_div.xml.in.h:5
+#: ../boards/memory_div_tux.xml.in.h:5 ../boards/memory_mult.xml.in.h:5
+#: ../boards/memory_mult_div.xml.in.h:5
+#: ../boards/memory_mult_div_tux.xml.in.h:5
+#: ../boards/memory_mult_tux.xml.in.h:5
+msgid ""
+"You can see some cards, but you can't see what's on the other side of them. "
+"Each card is hiding an operation, or the answer to it.\n"
+"\n"
+"In this game, these cards are hiding the two parts of an operation. You need "
+"to find the two parts of the operation, and bring them together again. Click "
+"on a card to see what number it's hiding, then try to find the other card "
+"that goes with it, to make a whole operation. You can only turn over two "
+"cards in one go, so you need to remember where the numbers are hiding, then "
+"you can match them when you find their other half. You're doing the job of "
+"the equals sign, and the numbers need you to put them together and make a "
+"proper equality. When you do that, both those cards disappear! When you've "
+"made them all disappear, found all the operations, you've won the game! :)"
+msgstr ""
+"Puoi vedere alcune carte ma non quello che c'è sull'altro lato di queste "
+"carte. Ogni carta nasconde un'operazione o il risultato di un'operazione.\n"
+"\n"
+"In questo gioco le carte nascondono le due parti di un'operazione. Tu devi "
+"trovare e mettere insieme le due parti di una stessa operazione. Fai clic su "
+"una carta per vedere che numero nasconde, poi cerca di trovare l'altra carta "
+"che insieme a questa completa l'operazione. Puoi girare solo due carte per "
+"volta, perciò devi ricordare dove sono nascosti i numeri per collegarli alla "
+"parte mancante, quando l'avrai trovata. Stai facendo il lavoro del segno "
+"uguale e devi unire i numeri per formare un'uguaglianza. Quando sarai "
+"riuscito a farlo, entrambe le carte scompariranno! Vincerai il gioco quando "
+"le avrai fatte scomparire tutte e avrai trovato tutte le operazioni! :)"
+
+#
+# File: ../boards/memory_add_minus_mult_div.xml.in.h, line: 1
+# File: ../boards/memory_add_minus_mult_div_tux.xml.in.h, line: 1
+# File: ../boards/memory_add_minus_mult_div.xml.in.h, line: 1
+# File: ../boards/memory_add_minus_mult_div_tux.xml.in.h, line: 1
+# File: ../boards/memory_add_minus_mult_div.xml.in.h, line: 1
+# File: ../boards/memory_add_minus_mult_div_tux.xml.in.h, line: 1
+#: ../boards/memory_add_minus_mult_div.xml.in.h:1
+#: ../boards/memory_add_minus_mult_div_tux.xml.in.h:1
+msgid "Addition, subtraction, multiplication, division"
+msgstr "Addizione, sottrazione, moltiplicazione, divisione"
+
+#
+# File: ../boards/memory_add_minus_mult_div.xml.in.h, line: 2
+# File: ../boards/memory_add_minus_mult_div.xml.in.h, line: 2
+# File: ../boards/memory_add_minus_mult_div.xml.in.h, line: 2
+#: ../boards/memory_add_minus_mult_div.xml.in.h:2
+msgid "All operations memory game"
+msgstr "Gioco di memoria con tutte le operazioni"
+
+#
+# File: ../boards/memory_add_minus_mult_div.xml.in.h, line: 3
+# File: ../boards/memory_add_minus_mult_div_tux.xml.in.h, line: 3
+# File: ../boards/memory_add_minus_mult_div.xml.in.h, line: 3
+# File: ../boards/memory_add_minus_mult_div_tux.xml.in.h, line: 3
+# File: ../boards/memory_add_minus_mult_div.xml.in.h, line: 3
+# File: ../boards/memory_add_minus_mult_div_tux.xml.in.h, line: 3
+#: ../boards/memory_add_minus_mult_div.xml.in.h:3
+#: ../boards/memory_add_minus_mult_div_tux.xml.in.h:3
+msgid ""
+"Practise addition, subtraction, multiplication, division, until all the "
+"cards are gone."
+msgstr ""
+"Esercitati con l'addizione, la sottrazione, la moltiplicazione, la "
+"divisione finché tutte le carte sono esaurite."
+
+#
+# File: ../boards/memory_add_minus_mult_div.xml.in.h, line: 4
+# File: ../boards/memory_add_minus_mult_div_tux.xml.in.h, line: 4
+# File: ../boards/memory_div.xml.in.h, line: 4
+# File: ../boards/memory_div_tux.xml.in.h, line: 4
+# File: ../boards/memory_mult_div.xml.in.h, line: 4
+# File: ../boards/memory_mult_div_tux.xml.in.h, line: 4
+# File: ../boards/memory_mult_tux.xml.in.h, line: 4
+# File: ../boards/memory_add_minus_mult_div.xml.in.h, line: 4
+# File: ../boards/memory_add_minus_mult_div_tux.xml.in.h, line: 4
+# File: ../boards/memory_div.xml.in.h, line: 4
+# File: ../boards/memory_div_tux.xml.in.h, line: 4
+# File: ../boards/memory_mult_div.xml.in.h, line: 4
+# File: ../boards/memory_mult_div_tux.xml.in.h, line: 4
+# File: ../boards/memory_mult_tux.xml.in.h, line: 4
+# File: ../boards/memory_add_minus_mult_div.xml.in.h, line: 4
+# File: ../boards/memory_add_minus_mult_div_tux.xml.in.h, line: 4
+# File: ../boards/memory_div.xml.in.h, line: 4
+# File: ../boards/memory_div_tux.xml.in.h, line: 4
+# File: ../boards/memory_mult_div.xml.in.h, line: 4
+# File: ../boards/memory_mult_div_tux.xml.in.h, line: 4
+# File: ../boards/memory_mult_tux.xml.in.h, line: 4
+#: ../boards/memory_add_minus_mult_div.xml.in.h:4
+#: ../boards/memory_add_minus_mult_div_tux.xml.in.h:4
+#: ../boards/memory_div.xml.in.h:4 ../boards/memory_div_tux.xml.in.h:4
+#: ../boards/memory_mult_div.xml.in.h:4
+#: ../boards/memory_mult_div_tux.xml.in.h:4
+#: ../boards/memory_mult_tux.xml.in.h:4
+msgid ""
+"Turn the cards over to find a matching operation, until all the cards are "
+"gone."
+msgstr ""
+"Gira le carte per trovare le operazioni collegate, finché tutte le carte "
+"sono esaurite."
+
+#
+# File: ../boards/memory_add_minus_mult_div_tux.xml.in.h, line: 2
+# File: ../boards/memory_add_minus_mult_div_tux.xml.in.h, line: 2
+# File: ../boards/memory_add_minus_mult_div_tux.xml.in.h, line: 2
+#: ../boards/memory_add_minus_mult_div_tux.xml.in.h:2
+msgid "All operations memory game against Tux"
+msgstr "Gioco di memoria con tutte le operazioni contro Tux"
+
+#
+# File: ../boards/memory_add_minus_tux.xml.in.h, line: 1
+# File: ../boards/memory_add_minus_tux.xml.in.h, line: 1
+# File: ../boards/memory_add_minus_tux.xml.in.h, line: 1
+#: ../boards/memory_add_minus_tux.xml.in.h:1
+msgid "Addition and subtraction memory game against Tux"
+msgstr "Gioco di memoria con l'addizione e la sottrazione contro Tux"
+
+#
+# File: ../boards/memory_add_tux.xml.in.h, line: 1
+# File: ../boards/memory_add_tux.xml.in.h, line: 1
+# File: ../boards/memory_add_tux.xml.in.h, line: 1
+#: ../boards/memory_add_tux.xml.in.h:1
+msgid "Addition memory game against Tux"
+msgstr "Gioco di memoria con l'addizione contro Tux"
+
+#
+# File: ../boards/memory_add_tux.xml.in.h, line: 2
+# File: ../boards/memory_mult_tux.xml.in.h, line: 1
+# File: ../boards/memory_add_tux.xml.in.h, line: 2
+# File: ../boards/memory_mult_tux.xml.in.h, line: 1
+# File: ../boards/memory_add_tux.xml.in.h, line: 2
+# File: ../boards/memory_mult_tux.xml.in.h, line: 1
+#: ../boards/memory_add_tux.xml.in.h:2 ../boards/memory_mult_tux.xml.in.h:1
+msgid "Additions"
+msgstr "Addizioni"
+
+#
+# File: ../boards/memory_div.xml.in.h, line: 1
+# File: ../boards/memory_div_tux.xml.in.h, line: 1
+# File: ../boards/memory_div.xml.in.h, line: 1
+# File: ../boards/memory_div_tux.xml.in.h, line: 1
+# File: ../boards/memory_div.xml.in.h, line: 1
+# File: ../boards/memory_div_tux.xml.in.h, line: 1
+#: ../boards/memory_div.xml.in.h:1 ../boards/memory_div_tux.xml.in.h:1
+msgid "Division"
+msgstr "Divisione"
+
+#
+# File: ../boards/memory_div.xml.in.h, line: 2
+# File: ../boards/memory_div.xml.in.h, line: 2
+# File: ../boards/memory_div.xml.in.h, line: 2
+#: ../boards/memory_div.xml.in.h:2
+msgid "Division memory game"
+msgstr "Gioco di memoria con la divisione"
+
+#
+# File: ../boards/memory_div.xml.in.h, line: 3
+# File: ../boards/memory_div_tux.xml.in.h, line: 3
+# File: ../boards/memory_div.xml.in.h, line: 3
+# File: ../boards/memory_div_tux.xml.in.h, line: 3
+# File: ../boards/memory_div.xml.in.h, line: 3
+# File: ../boards/memory_div_tux.xml.in.h, line: 3
+#: ../boards/memory_div.xml.in.h:3 ../boards/memory_div_tux.xml.in.h:3
+msgid "Practise division, until all the cards are gone."
+msgstr "Esercitati con la divisione finché tutte le carte sono esaurite."
+
+#
+# File: ../boards/memory_div_tux.xml.in.h, line: 2
+# File: ../boards/memory_div_tux.xml.in.h, line: 2
+# File: ../boards/memory_div_tux.xml.in.h, line: 2
+#: ../boards/memory_div_tux.xml.in.h:2
+msgid "Division memory game against Tux"
+msgstr "Gioco di memoria con la divisione contro Tux"
+
+#
+# File: ../boards/memory_group.xml.in.h, line: 1
+# File: ../boards/memory_group.xml.in.h, line: 1
+# File: ../boards/memory_group.xml.in.h, line: 1
#: ../boards/memory_group.xml.in.h:1
msgid "Go to Memory activities"
msgstr "Vai alle attività di memoria"
+#
+# File: ../boards/memory_group.xml.in.h, line: 2
+# File: ../boards/memory_group.xml.in.h, line: 2
+# File: ../boards/memory_group.xml.in.h, line: 2
#: ../boards/memory_group.xml.in.h:2
msgid "Various memory activities (images, letters, sounds)."
msgstr "Attività varie di memoria (immagini, lettere, suoni)."
+#
+# File: ../boards/memory_minus.xml.in.h, line: 1
+# File: ../boards/memory_minus_tux.xml.in.h, line: 1
+# File: ../boards/memory_minus.xml.in.h, line: 1
+# File: ../boards/memory_minus_tux.xml.in.h, line: 1
+# File: ../boards/memory_minus.xml.in.h, line: 1
+# File: ../boards/memory_minus_tux.xml.in.h, line: 1
+#: ../boards/memory_minus.xml.in.h:1 ../boards/memory_minus_tux.xml.in.h:1
+msgid "Practise subtraction, until all the cards are gone."
+msgstr "Esercitati con la sottrazione finché tutte le carte sono esaurite."
+
+#
+# File: ../boards/memory_minus.xml.in.h, line: 3
+# File: ../boards/memory_minus.xml.in.h, line: 3
+# File: ../boards/memory_minus.xml.in.h, line: 3
+#: ../boards/memory_minus.xml.in.h:3
+msgid "Subtraction memory game"
+msgstr "Gioco di memoria con la sottrazione"
+
+#
+# File: ../boards/memory_minus.xml.in.h, line: 4
+# File: ../boards/memory_minus_tux.xml.in.h, line: 4
+# File: ../boards/memory_minus.xml.in.h, line: 4
+# File: ../boards/memory_minus_tux.xml.in.h, line: 4
+# File: ../boards/memory_minus.xml.in.h, line: 4
+# File: ../boards/memory_minus_tux.xml.in.h, line: 4
+#: ../boards/memory_minus.xml.in.h:4 ../boards/memory_minus_tux.xml.in.h:4
+msgid ""
+"Turn the cards over to find two numbers which subtract the same, until all "
+"the cards are gone."
+msgstr ""
+"Gira le carte per trovare due numeri che appartengono alla stessa "
+"sottrazione, finché tutte le carte sono esaurite."
+
+#
+# File: ../boards/memory_minus.xml.in.h, line: 5
+# File: ../boards/memory_minus_tux.xml.in.h, line: 5
+# File: ../boards/memory_minus.xml.in.h, line: 5
+# File: ../boards/memory_minus_tux.xml.in.h, line: 5
+# File: ../boards/memory_minus.xml.in.h, line: 5
+# File: ../boards/memory_minus_tux.xml.in.h, line: 5
+#: ../boards/memory_minus.xml.in.h:5 ../boards/memory_minus_tux.xml.in.h:5
+msgid ""
+"You can see some cards, but you can't see what's on the other side of them. "
+"Each card is hiding a subtraction, or the answer to it.\n"
+"A subtraction looks like this: 3 - 1 = 2\n"
+"The numbers on one side of the equals sign (=) have to be the same as the "
+"number on the other side. So 3 (1, 2, 3) less 1 (1) makes 2. Count aloud "
+"when you work this out, and count on your fingers, because the more ways you "
+"do something, the better you remember it. You can also use blocks, or "
+"buttons, or anything you can count. If you have lots of brothers and "
+"sisters, you can count them! Or the kids in your class at school. Sing "
+"counting songs. Count lots of things, for practice, and you'll be very good "
+"at adding-up!\n"
+"\n"
+"In this game, these cards are hiding the two parts of a subtraction. You "
+"need to find the two parts of the subraction, and bring them together again. "
+"Click on a card to see what number it's hiding, then try to find the other "
+"card that goes with it, to make a whole sum. You can only turn over two "
+"cards in one go, so you need to remember where the numbers are hiding, then "
+"you can match them when you find their other half. You're doing the job of "
+"the equals sign, and the numbers need you to put them together and make a "
+"proper sum. When you do that, both those cards disappear! When you've made "
+"them all disappear, found all the subtracts, you've won the game! :)"
+msgstr ""
+"Puoi vedere alcune carte ma non quello che c'è sull'altro lato di queste "
+"carte. Ogni carta nasconde una sottrazione o il risultato di una "
+"sottrazione.\n"
+"Questa è una sottrazione: 3 - 1 = 2\n"
+"I numeri che sono da un lato del segno uguale (=) devono essere gli stessi "
+"dall'altro lato. Quindi 3 (1, 2, 3) meno 1 (1) fa 2. Conta ad alta voce "
+"quando giochi e conta le tue dita, perché in più modi fai qualcosa meglio la "
+"ricorderai.Puoi anche usare dei mattoncini o i bottoni o qualsiasi cosa tu "
+"possa contare. Se hai molti fratelli e sorelle puoi contare anche loro! O i "
+"bambini nella tua classe a scuola. Canta canzoni contando. Conta molte cose "
+"per esercitarti e diventerai molto bravo a contare!\n"
+"\n"
+"In questo gioco, queste carte nascondono le due parti di una sottrazione. Tu "
+"devi trovare e rimettere insieme le due parti della sottrazione. Fai clic su "
+"una carta per vedere che numero nasconde, poi cerca di trovare l'altra carta "
+"che insieme a questa completa l'operazione. Puoi girare solo due carte per "
+"volta, perciò devi ricordare dove sono nascosti i numeri per collegarli "
+"all'altra parte mancante, quando l'avrai trovata. Stai lavorando con il "
+"segno uguale e i numeri devono essere uniti per formare un'uguaglianza. "
+"Quando sarai riuscito a farlo, entrambe le carte scompariranno! Vincerai il "
+"gioco quando le avrai fatte scomparire tutte e avrai trovato tutte le "
+"operazioni! :)"
+
+#
+# File: ../boards/memory_minus_tux.xml.in.h, line: 3
+# File: ../boards/memory_minus_tux.xml.in.h, line: 3
+# File: ../boards/memory_minus_tux.xml.in.h, line: 3
+#: ../boards/memory_minus_tux.xml.in.h:3
+msgid "Subtraction memory game against Tux"
+msgstr "Gioco di memoria con la sottrazione contro Tux"
+
+#
+# File: ../boards/memory_mult.xml.in.h, line: 1
+# File: ../boards/memory_mult.xml.in.h, line: 1
+# File: ../boards/memory_mult.xml.in.h, line: 1
+#: ../boards/memory_mult.xml.in.h:1
+msgid "Multiplication"
+msgstr "Moltiplicazione"
+
+#
+# File: ../boards/memory_mult.xml.in.h, line: 2
+# File: ../boards/memory_mult.xml.in.h, line: 2
+# File: ../boards/memory_mult.xml.in.h, line: 2
+#: ../boards/memory_mult.xml.in.h:2
+msgid "Multiplication memory game"
+msgstr "Gioco di memoria con la moltiplicazione"
+
+#
+# File: ../boards/memory_mult.xml.in.h, line: 3
+# File: ../boards/memory_mult.xml.in.h, line: 3
+# File: ../boards/memory_mult.xml.in.h, line: 3
+#: ../boards/memory_mult.xml.in.h:3
+msgid "Practise multiplication, until all the cards are gone."
+msgstr "Esercitati con la moltiplicazione finché tutte le carte sono esaurite."
+
+#
+# File: ../boards/memory_mult.xml.in.h, line: 4
+# File: ../boards/memory_mult.xml.in.h, line: 4
+# File: ../boards/memory_mult.xml.in.h, line: 4
+#: ../boards/memory_mult.xml.in.h:4
+msgid ""
+"Turn the cards over to find two numbers which multiply the same, until all "
+"the cards are gone."
+msgstr ""
+"Gira le carte per trovare due numeri che appartengono alla stessa "
+"moltiplicazione, finché le carte non sono esaurite."
+
+#
+# File: ../boards/memory_mult_div.xml.in.h, line: 1
+# File: ../boards/memory_mult_div.xml.in.h, line: 1
+# File: ../boards/memory_mult_div.xml.in.h, line: 1
+#: ../boards/memory_mult_div.xml.in.h:1
+msgid "Multiplication and division memory game"
+msgstr "Gioco di memoria con la moltiplicazione e la divisione"
+
+#
+# File: ../boards/memory_mult_div.xml.in.h, line: 2
+# File: ../boards/memory_mult_div_tux.xml.in.h, line: 2
+# File: ../boards/memory_mult_div.xml.in.h, line: 2
+# File: ../boards/memory_mult_div_tux.xml.in.h, line: 2
+# File: ../boards/memory_mult_div.xml.in.h, line: 2
+# File: ../boards/memory_mult_div_tux.xml.in.h, line: 2
+#: ../boards/memory_mult_div.xml.in.h:2
+#: ../boards/memory_mult_div_tux.xml.in.h:2
+msgid "Multiplication, division"
+msgstr "Moltiplicazione, divisione"
+
+#
+# File: ../boards/memory_mult_div.xml.in.h, line: 3
+# File: ../boards/memory_mult_div_tux.xml.in.h, line: 3
+# File: ../boards/memory_mult_div.xml.in.h, line: 3
+# File: ../boards/memory_mult_div_tux.xml.in.h, line: 3
+# File: ../boards/memory_mult_div.xml.in.h, line: 3
+# File: ../boards/memory_mult_div_tux.xml.in.h, line: 3
+#: ../boards/memory_mult_div.xml.in.h:3
+#: ../boards/memory_mult_div_tux.xml.in.h:3
+msgid "Practise multiplication, division, until all the cards are gone."
+msgstr ""
+"Esercitati con la moltiplicazione e la divisione finché tutte le carte sono "
+"esaurite."
+
+#
+# File: ../boards/memory_mult_div_tux.xml.in.h, line: 1
+# File: ../boards/memory_mult_div_tux.xml.in.h, line: 1
+# File: ../boards/memory_mult_div_tux.xml.in.h, line: 1
+#: ../boards/memory_mult_div_tux.xml.in.h:1
+msgid "Multiplication and division memory game against Tux"
+msgstr "Gioco di memoria con la moltiplicazione e la divisione contro Tux"
+
+#
+# File: ../boards/memory_mult_tux.xml.in.h, line: 2
+# File: ../boards/memory_mult_tux.xml.in.h, line: 2
+# File: ../boards/memory_mult_tux.xml.in.h, line: 2
+#: ../boards/memory_mult_tux.xml.in.h:2
+msgid "Multiplication memory game against Tux"
+msgstr "Gioco di memoria con la moltiplicazione contro Tux"
+
+#
+# File: ../boards/memory_mult_tux.xml.in.h, line: 3
+# File: ../boards/memory_mult_tux.xml.in.h, line: 3
+# File: ../boards/memory_mult_tux.xml.in.h, line: 3
+#: ../boards/memory_mult_tux.xml.in.h:3
+msgid "Practise multiplication until all the cards are gone."
+msgstr "Esercitati con la moltiplicazione finché tutte le carte sono esaurite."
+
+#
+# File: ../boards/memory_op_group.xml.in.h, line: 1
+# File: ../boards/memory_op_group.xml.in.h, line: 1
+# File: ../boards/memory_op_group.xml.in.h, line: 1
+#: ../boards/memory_op_group.xml.in.h:1
+msgid "Go to mathematics memory activities"
+msgstr "Vai alle attività di memoria basate sulla matematica"
+
+#
+# File: ../boards/memory_op_group.xml.in.h, line: 2
+# File: ../boards/memory_op_group_tux.xml.in.h, line: 2
+# File: ../boards/memory_op_group.xml.in.h, line: 2
+# File: ../boards/memory_op_group_tux.xml.in.h, line: 2
+# File: ../boards/memory_op_group.xml.in.h, line: 2
+# File: ../boards/memory_op_group_tux.xml.in.h, line: 2
+#: ../boards/memory_op_group.xml.in.h:2
+#: ../boards/memory_op_group_tux.xml.in.h:2
+msgid "Memory activities based on operations"
+msgstr "Attività di memoria basate sulle operazioni"
+
+#
+# File: ../boards/memory_op_group_tux.xml.in.h, line: 1
+# File: ../boards/memory_op_group_tux.xml.in.h, line: 1
+# File: ../boards/memory_op_group_tux.xml.in.h, line: 1
+#: ../boards/memory_op_group_tux.xml.in.h:1
+msgid "Go to mathematics memory activities against Tux"
+msgstr "Vai alle attività di memoria basate sulla matematica contro Tux"
+
+#
+# File: ../boards/memory_sound.xml.in.h, line: 1
+# File: ../boards/memory_sound_tux.xml.in.h, line: 1
+# File: ../boards/memory_sound.xml.in.h, line: 1
+# File: ../boards/memory_sound_tux.xml.in.h, line: 1
+# File: ../boards/memory_sound.xml.in.h, line: 1
+# File: ../boards/memory_sound_tux.xml.in.h, line: 1
#: ../boards/memory_sound.xml.in.h:1 ../boards/memory_sound_tux.xml.in.h:1
msgid ""
"A set of violinist Tux is shown. Each Tux has an associated sound, and each "
@@ -2897,40 +6162,85 @@ msgstr ""
"a quale Tux è associato un suono mentre cerchi di formare le coppie. Quando "
"avrai scoperto una coppia con lo stesso suono, questa scomparirà."
+#
+# File: ../boards/memory_sound.xml.in.h, line: 2
+# File: ../boards/memory_sound.xml.in.h, line: 2
+# File: ../boards/memory_sound.xml.in.h, line: 2
#: ../boards/memory_sound.xml.in.h:2
msgid "Audio memory game"
msgstr "Gioco di memoria uditiva"
+#
+# File: ../boards/memory_sound.xml.in.h, line: 3
+# File: ../boards/memory_sound.xml.in.h, line: 3
+# File: ../boards/memory_sound.xml.in.h, line: 3
#: ../boards/memory_sound.xml.in.h:3
msgid "Click on Tux the violinist and listen to find the matching sounds"
msgstr ""
"Fai clic sul violinista Tux e ascolta per trovare i suoni corrispondenti"
+#
+# File: ../boards/memory_sound.xml.in.h, line: 4
+# File: ../boards/memory_sound_tux.xml.in.h, line: 3
+# File: ../boards/memory_tux.xml.in.h, line: 3
+# File: ../boards/memory_sound.xml.in.h, line: 4
+# File: ../boards/memory_sound_tux.xml.in.h, line: 3
+# File: ../boards/memory_tux.xml.in.h, line: 3
+# File: ../boards/memory_sound.xml.in.h, line: 4
+# File: ../boards/memory_sound_tux.xml.in.h, line: 3
+# File: ../boards/memory_tux.xml.in.h, line: 3
#: ../boards/memory_sound.xml.in.h:4 ../boards/memory_sound_tux.xml.in.h:3
#: ../boards/memory_tux.xml.in.h:3
msgid "Mouse manipulation, Brain."
msgstr "Utilizzo del mouse, Memoria."
+#
+# File: ../boards/memory_sound.xml.in.h, line: 5
+# File: ../boards/memory_sound_tux.xml.in.h, line: 5
+# File: ../boards/memory_sound.xml.in.h, line: 5
+# File: ../boards/memory_sound_tux.xml.in.h, line: 5
+# File: ../boards/memory_sound.xml.in.h, line: 5
+# File: ../boards/memory_sound_tux.xml.in.h, line: 5
#: ../boards/memory_sound.xml.in.h:5 ../boards/memory_sound_tux.xml.in.h:5
msgid "Train your audio memory and remove all the violonists Tux."
msgstr "Allena la tua memoria uditiva per rimuovere tutti i violinisti Tux."
+#
+# File: ../boards/memory_sound_tux.xml.in.h, line: 2
+# File: ../boards/memory_sound_tux.xml.in.h, line: 2
+# File: ../boards/memory_sound_tux.xml.in.h, line: 2
#: ../boards/memory_sound_tux.xml.in.h:2
msgid "Audio memory game against Tux"
msgstr "Gioco di memoria uditiva contro Tux"
+#
+# File: ../boards/memory_sound_tux.xml.in.h, line: 4
+# File: ../boards/memory_sound_tux.xml.in.h, line: 4
+# File: ../boards/memory_sound_tux.xml.in.h, line: 4
#: ../boards/memory_sound_tux.xml.in.h:4
msgid "Play the audio memory game against Tux"
msgstr "Gioca contro Tux al gioco della memoria uditiva"
+#
+# File: ../boards/memory_tux.xml.in.h, line: 1
+# File: ../boards/memory_tux.xml.in.h, line: 1
+# File: ../boards/memory_tux.xml.in.h, line: 1
#: ../boards/memory_tux.xml.in.h:1
msgid "Have a memory competition with Tux."
msgstr "Gioca contro Tux ai giochi di memoria."
+#
+# File: ../boards/memory_tux.xml.in.h, line: 2
+# File: ../boards/memory_tux.xml.in.h, line: 2
+# File: ../boards/memory_tux.xml.in.h, line: 2
#: ../boards/memory_tux.xml.in.h:2
msgid "Memory Game with images, against Tux"
msgstr "Giochi di memoria con immagini, contro Tux"
+#
+# File: ../boards/memory_tux.xml.in.h, line: 5
+# File: ../boards/memory_tux.xml.in.h, line: 5
+# File: ../boards/memory_tux.xml.in.h, line: 5
#: ../boards/memory_tux.xml.in.h:5
msgid ""
"You can see a set of cards that all look the same. Each card has a picture "
@@ -2948,6 +6258,10 @@ msgstr ""
"Giocherai a turno contro Tux e per vincere il gioco, dovrai trovare più "
"coppie di carte gemelle rispetto a lui."
+#
+# File: ../boards/menu.xml.in.h, line: 1
+# File: ../boards/menu.xml.in.h, line: 1
+# File: ../boards/menu.xml.in.h, line: 1
#: ../boards/menu.xml.in.h:1
msgid ""
"A simple click on an icon brings you to an activity or a menu of "
@@ -2984,11 +6298,22 @@ msgstr ""
" 1, 2 o 3 stelle semplici - dai 2 ai 6 anni\n"
" 1, 2 o 3 stelle complesse - dai 7 anni"
+#
+# File: ../boards/menu.xml.in.h, line: 15
+# File: ../boards/menu.xml.in.h, line: 15
+# File: ../boards/menu.xml.in.h, line: 15
#: ../boards/menu.xml.in.h:15
msgid "GCompris Main Menu"
msgstr "Menù principale di GCompris"
-#: ../boards/menu.xml.in.h:16
+#
+# File: ../boards/menu.xml.in.h, line: 16
+# File: ../src/boards/menu2.c, line: 1009
+# File: ../boards/menu.xml.in.h, line: 16
+# File: ../src/boards/menu2.c, line: 1009
+# File: ../boards/menu.xml.in.h, line: 16
+# File: ../src/boards/menu2.c, line: 1009
+#: ../boards/menu.xml.in.h:16 ../src/boards/menu2.c:1009
msgid ""
"GCompris is a collection of educational games that provides different "
"activities for children aged 2 and up."
@@ -2996,6 +6321,10 @@ msgstr ""
"GCompris è una collezione di giochi didattici che offre differenti attività "
"ai bambini dai 2 anni in su."
+#
+# File: ../boards/menu.xml.in.h, line: 18
+# File: ../boards/menu.xml.in.h, line: 18
+# File: ../boards/menu.xml.in.h, line: 18
#: ../boards/menu.xml.in.h:18
msgid ""
"The goal of gcompris is to provide a free alternative to popular proprietary "
@@ -3004,14 +6333,26 @@ msgstr ""
"Lo scopo di gcompris è fornire una alternativa libera ai popolari software\n"
" proprietari del settore didattico/ricreativo"
+#
+# File: ../boards/miscelaneous.xml.in.h, line: 1
+# File: ../boards/miscelaneous.xml.in.h, line: 1
+# File: ../boards/miscelaneous.xml.in.h, line: 1
#: ../boards/miscelaneous.xml.in.h:1
msgid "Miscellaneous activities"
msgstr "Attività miste"
+#
+# File: ../boards/miscelaneous.xml.in.h, line: 2
+# File: ../boards/miscelaneous.xml.in.h, line: 2
+# File: ../boards/miscelaneous.xml.in.h, line: 2
#: ../boards/miscelaneous.xml.in.h:2
msgid "Time, Geography, ..."
msgstr "Tempo, Geografia, ..."
+#
+# File: ../boards/missing_letter.xml.in.h, line: 1
+# File: ../boards/missing_letter.xml.in.h, line: 1
+# File: ../boards/missing_letter.xml.in.h, line: 1
#: ../boards/missing_letter.xml.in.h:1
msgid ""
"An object is displayed in the main area, and an incomplete word is printed "
@@ -3020,170 +6361,344 @@ msgstr ""
"Viene mostrato un oggetto nell'area principale e sotto la figura c'è una "
"parola incompleta. Seleziona la lettera mancante per completare la parola."
+#
+# File: ../boards/missing_letter.xml.in.h, line: 2
+# File: ../boards/missing_letter.xml.in.h, line: 2
+# File: ../boards/missing_letter.xml.in.h, line: 2
#: ../boards/missing_letter.xml.in.h:2
msgid "Fill in the missing letter"
msgstr "Inserisci la lettera mancante"
+#
+# File: ../boards/missing_letter.xml.in.h, line: 3
+# File: ../boards/missing_letter.xml.in.h, line: 3
+# File: ../boards/missing_letter.xml.in.h, line: 3
#: ../boards/missing_letter.xml.in.h:3
msgid "Missing Letter"
msgstr "Lettera mancante"
+#
+# File: ../boards/missing_letter.xml.in.h, line: 4
+# File: ../boards/missing_letter.xml.in.h, line: 4
+# File: ../boards/missing_letter.xml.in.h, line: 4
#: ../boards/missing_letter.xml.in.h:4
msgid "Training reading skills"
msgstr "Esercita la capacità nella lettura"
+#
+# File: ../boards/missing_letter.xml.in.h, line: 5
+# File: ../boards/missing_letter.xml.in.h, line: 5
+# File: ../boards/missing_letter.xml.in.h, line: 5
#: ../boards/missing_letter.xml.in.h:5
msgid "Word reading"
msgstr "Leggere le parole"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 1
+# File: ../boards/missing_letter/board1.xml.in.h, line: 1
+# File: ../boards/missing_letter/board1.xml.in.h, line: 1
#: ../boards/missing_letter/board1.xml.in.h:1
msgid "apple/_pple/a/i/o"
msgstr "mela/_ela/m/n/p"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 2
+# File: ../boards/missing_letter/board1.xml.in.h, line: 2
+# File: ../boards/missing_letter/board1.xml.in.h, line: 2
#: ../boards/missing_letter/board1.xml.in.h:2
msgid "apple/app_e/l/h/n"
msgstr "mela/m_la/e/a/u"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 3
+# File: ../boards/missing_letter/board1.xml.in.h, line: 3
+# File: ../boards/missing_letter/board1.xml.in.h, line: 3
#: ../boards/missing_letter/board1.xml.in.h:3
msgid "apple/appl_/e/h/a"
msgstr "mela/me_a/l/m/p"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 4
+# File: ../boards/missing_letter/board1.xml.in.h, line: 4
+# File: ../boards/missing_letter/board1.xml.in.h, line: 4
#: ../boards/missing_letter/board1.xml.in.h:4
msgid "ball/_all/b/p/d"
msgstr "palla/p_lla/a/e/o"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 5
+# File: ../boards/missing_letter/board1.xml.in.h, line: 5
+# File: ../boards/missing_letter/board1.xml.in.h, line: 5
#: ../boards/missing_letter/board1.xml.in.h:5
msgid "ball/b_ll/a/u/o"
msgstr "palla/_alla/p/l/m"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 6
+# File: ../boards/missing_letter/board1.xml.in.h, line: 6
+# File: ../boards/missing_letter/board1.xml.in.h, line: 6
#: ../boards/missing_letter/board1.xml.in.h:6
msgid "ball/bal_/l/h/s"
msgstr "palla/pa_la/l/s/t"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 7
+# File: ../boards/missing_letter/board1.xml.in.h, line: 7
+# File: ../boards/missing_letter/board1.xml.in.h, line: 7
#: ../boards/missing_letter/board1.xml.in.h:7
msgid "banana/_anana/b/p/d"
msgstr "banana/_anana/b/n/l"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 8
+# File: ../boards/missing_letter/board1.xml.in.h, line: 8
+# File: ../boards/missing_letter/board1.xml.in.h, line: 8
#: ../boards/missing_letter/board1.xml.in.h:8
msgid "banana/b_nana/a/o/i"
msgstr "banana/b_nana/a/o/i"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 9
+# File: ../boards/missing_letter/board1.xml.in.h, line: 9
+# File: ../boards/missing_letter/board1.xml.in.h, line: 9
#: ../boards/missing_letter/board1.xml.in.h:9
msgid "banana/ba_ana/n/m/b"
msgstr "banana/ba_ana/n/m/b"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 10
+# File: ../boards/missing_letter/board1.xml.in.h, line: 10
+# File: ../boards/missing_letter/board1.xml.in.h, line: 10
#: ../boards/missing_letter/board1.xml.in.h:10
msgid "bed/_ed/b/l/f"
msgstr "letto/_etto/l/b/f"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 11
+# File: ../boards/missing_letter/board1.xml.in.h, line: 11
+# File: ../boards/missing_letter/board1.xml.in.h, line: 11
#: ../boards/missing_letter/board1.xml.in.h:11
msgid "bed/b_d/e/a/i"
msgstr "letto/l_tto/e/a/i"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 12
+# File: ../boards/missing_letter/board1.xml.in.h, line: 12
+# File: ../boards/missing_letter/board1.xml.in.h, line: 12
#: ../boards/missing_letter/board1.xml.in.h:12
msgid "bed/be_/d/p/b"
msgstr "letto/lett_/o/a/e"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 13
+# File: ../boards/missing_letter/board1.xml.in.h, line: 13
+# File: ../boards/missing_letter/board1.xml.in.h, line: 13
#: ../boards/missing_letter/board1.xml.in.h:13
msgid "bottle/_ottle/b/t/p"
msgstr "bottiglia/_ottiglia/b/t/p"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 14
+# File: ../boards/missing_letter/board1.xml.in.h, line: 14
+# File: ../boards/missing_letter/board1.xml.in.h, line: 14
#: ../boards/missing_letter/board1.xml.in.h:14
msgid "bottle/b_ttle/o/u/d"
msgstr "bottiglia/b_ttiglia/o/a/e"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 15
+# File: ../boards/missing_letter/board1.xml.in.h, line: 15
+# File: ../boards/missing_letter/board1.xml.in.h, line: 15
#: ../boards/missing_letter/board1.xml.in.h:15
msgid "bottle/bott_e/l/y/r"
msgstr "bottiglia/bo_tiglia/t/r/s"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 16
+# File: ../boards/missing_letter/board1.xml.in.h, line: 16
+# File: ../boards/missing_letter/board1.xml.in.h, line: 16
#: ../boards/missing_letter/board1.xml.in.h:16
msgid "cake/_ake/c/p/d"
msgstr "torta/_orta/t/p/d"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 17
+# File: ../boards/missing_letter/board1.xml.in.h, line: 17
+# File: ../boards/missing_letter/board1.xml.in.h, line: 17
#: ../boards/missing_letter/board1.xml.in.h:17
msgid "cake/c_ke/a/o/e"
msgstr "torta/t_rta/o/a/u"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 18
+# File: ../boards/missing_letter/board1.xml.in.h, line: 18
+# File: ../boards/missing_letter/board1.xml.in.h, line: 18
#: ../boards/missing_letter/board1.xml.in.h:18
msgid "cake/ca_e/k/q/c"
msgstr "torta/to_ta/r/s/n"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 19
+# File: ../boards/missing_letter/board1.xml.in.h, line: 19
+# File: ../boards/missing_letter/board1.xml.in.h, line: 19
#: ../boards/missing_letter/board1.xml.in.h:19
msgid "car/_ar/c/k/b"
msgstr "auto/_uto/a/o/e"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 20
+# File: ../boards/missing_letter/board1.xml.in.h, line: 20
+# File: ../boards/missing_letter/board1.xml.in.h, line: 20
#: ../boards/missing_letter/board1.xml.in.h:20
msgid "car/c_r/a/k/o"
msgstr "auto/a_to/u/i/o"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 21
+# File: ../boards/missing_letter/board1.xml.in.h, line: 21
+# File: ../boards/missing_letter/board1.xml.in.h, line: 21
#: ../boards/missing_letter/board1.xml.in.h:21
msgid "car/ca_/r/w/k"
msgstr "auto/au_o/t/r/p"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 22
+# File: ../boards/missing_letter/board1.xml.in.h, line: 22
+# File: ../boards/missing_letter/board1.xml.in.h, line: 22
#: ../boards/missing_letter/board1.xml.in.h:22
msgid "dog/_og/d/p/q"
msgstr "cane/_ane/c/p/t"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 23
+# File: ../boards/missing_letter/board1.xml.in.h, line: 23
+# File: ../boards/missing_letter/board1.xml.in.h, line: 23
#: ../boards/missing_letter/board1.xml.in.h:23
msgid "dog/d_g/o/g/a"
msgstr "cane/c_ne/a/e/i"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 24
+# File: ../boards/missing_letter/board1.xml.in.h, line: 24
+# File: ../boards/missing_letter/board1.xml.in.h, line: 24
#: ../boards/missing_letter/board1.xml.in.h:24
msgid "dog/do_/g/p/q"
msgstr "cane/ca_e/n/s/r"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 25
+# File: ../boards/missing_letter/board1.xml.in.h, line: 25
+# File: ../boards/missing_letter/board1.xml.in.h, line: 25
#: ../boards/missing_letter/board1.xml.in.h:25
msgid "fish/_ish/f/h/l"
msgstr "pesce/_esce/p/m/n"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 26
+# File: ../boards/missing_letter/board1.xml.in.h, line: 26
+# File: ../boards/missing_letter/board1.xml.in.h, line: 26
#: ../boards/missing_letter/board1.xml.in.h:26
msgid "fish/f_sh/i/u/l"
msgstr "pesce/p_sce/e/a/u"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 27
+# File: ../boards/missing_letter/board1.xml.in.h, line: 27
+# File: ../boards/missing_letter/board1.xml.in.h, line: 27
#: ../boards/missing_letter/board1.xml.in.h:27
msgid "fish/fis_/h/o/i"
msgstr "pesce/pe_ce/s/n/l"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 28
+# File: ../boards/missing_letter/board1.xml.in.h, line: 28
+# File: ../boards/missing_letter/board1.xml.in.h, line: 28
#: ../boards/missing_letter/board1.xml.in.h:28
msgid "house/_ouse/h/e/j"
msgstr "casa/_asa/c/n/r"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 29
+# File: ../boards/missing_letter/board1.xml.in.h, line: 29
+# File: ../boards/missing_letter/board1.xml.in.h, line: 29
#: ../boards/missing_letter/board1.xml.in.h:29
msgid "house/h_use/o/f/u"
msgstr "casa/c_sa/a/o/u"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 30
+# File: ../boards/missing_letter/board1.xml.in.h, line: 30
+# File: ../boards/missing_letter/board1.xml.in.h, line: 30
#: ../boards/missing_letter/board1.xml.in.h:30
msgid "house/hous_/e/a/i"
msgstr "casa/cas_/a/e/i"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 31
+# File: ../boards/missing_letter/board1.xml.in.h, line: 31
+# File: ../boards/missing_letter/board1.xml.in.h, line: 31
#: ../boards/missing_letter/board1.xml.in.h:31
msgid "plane/_lane/p/g/d"
msgstr "aereo/_ereo/a/o/u"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 32
+# File: ../boards/missing_letter/board1.xml.in.h, line: 32
+# File: ../boards/missing_letter/board1.xml.in.h, line: 32
#: ../boards/missing_letter/board1.xml.in.h:32
msgid "plane/p_ane/l/j/i"
msgstr "aereo/a_reo/e/u/i"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 33
+# File: ../boards/missing_letter/board1.xml.in.h, line: 33
+# File: ../boards/missing_letter/board1.xml.in.h, line: 33
#: ../boards/missing_letter/board1.xml.in.h:33
msgid "plane/pl_ne/a/o/s"
msgstr "aereo/ae_eo/r/n/s"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 34
+# File: ../boards/missing_letter/board1.xml.in.h, line: 34
+# File: ../boards/missing_letter/board1.xml.in.h, line: 34
#: ../boards/missing_letter/board1.xml.in.h:34
msgid "satchel/_atchel/s/c/l"
msgstr "cartella/_artella/c/p/m"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 35
+# File: ../boards/missing_letter/board1.xml.in.h, line: 35
+# File: ../boards/missing_letter/board1.xml.in.h, line: 35
#: ../boards/missing_letter/board1.xml.in.h:35
msgid "satchel/s_tchel/a/o/i"
msgstr "cartella/c_rtella/a/o/i"
+#
+# File: ../boards/missing_letter/board1.xml.in.h, line: 36
+# File: ../boards/missing_letter/board1.xml.in.h, line: 36
+# File: ../boards/missing_letter/board1.xml.in.h, line: 36
#: ../boards/missing_letter/board1.xml.in.h:36
msgid "satchel/sa_chel/t/p/c"
msgstr "cartella/ca_tella/r/s/n"
+#
+# File: ../boards/money.xml.in.h, line: 1
+# File: ../boards/money_cents.xml.in.h, line: 1
+# File: ../boards/money.xml.in.h, line: 1
+# File: ../boards/money_cents.xml.in.h, line: 1
+# File: ../boards/money.xml.in.h, line: 1
+# File: ../boards/money_cents.xml.in.h, line: 1
#: ../boards/money.xml.in.h:1 ../boards/money_cents.xml.in.h:1
msgid "Can count"
msgstr "Saper contare"
+#
+# File: ../boards/money.xml.in.h, line: 2
+# File: ../boards/money_cents.xml.in.h, line: 2
+# File: ../boards/money.xml.in.h, line: 2
+# File: ../boards/money_cents.xml.in.h, line: 2
+# File: ../boards/money.xml.in.h, line: 2
+# File: ../boards/money_cents.xml.in.h, line: 2
#: ../boards/money.xml.in.h:2 ../boards/money_cents.xml.in.h:2
msgid ""
"Click on the coins or paper money at the bottom of the screen to pay. If you "
@@ -3193,14 +6708,32 @@ msgstr ""
"schermo. Per ritirare una moneta o una banconota, fai clic su di essa nella "
"parte alta dello schermo."
+#
+# File: ../boards/money.xml.in.h, line: 3
+# File: ../boards/money_cents.xml.in.h, line: 3
+# File: ../boards/money.xml.in.h, line: 3
+# File: ../boards/money_cents.xml.in.h, line: 3
+# File: ../boards/money.xml.in.h, line: 3
+# File: ../boards/money_cents.xml.in.h, line: 3
#: ../boards/money.xml.in.h:3 ../boards/money_cents.xml.in.h:3
msgid "Money"
msgstr "Soldi"
+#
+# File: ../boards/money.xml.in.h, line: 4
+# File: ../boards/money.xml.in.h, line: 4
+# File: ../boards/money.xml.in.h, line: 4
#: ../boards/money.xml.in.h:4
msgid "Practice money usage"
msgstr "Esercizi con l'impiego dei soldi"
+#
+# File: ../boards/money.xml.in.h, line: 5
+# File: ../boards/money_cents.xml.in.h, line: 5
+# File: ../boards/money.xml.in.h, line: 5
+# File: ../boards/money_cents.xml.in.h, line: 5
+# File: ../boards/money.xml.in.h, line: 5
+# File: ../boards/money_cents.xml.in.h, line: 5
#: ../boards/money.xml.in.h:5 ../boards/money_cents.xml.in.h:5
msgid ""
"You must buy the different items and give the exact price. At higher levels, "
@@ -3209,39 +6742,109 @@ msgstr ""
"Devi comprare vari oggetti e dare i soldi giusti. Ai livelli più alti, sono "
"mostrati diversi articoli, tu devi calcolare prima il costo totale."
+#
+# File: ../boards/money_cents.xml.in.h, line: 4
+# File: ../boards/money_cents.xml.in.h, line: 4
+# File: ../boards/money_cents.xml.in.h, line: 4
#: ../boards/money_cents.xml.in.h:4
msgid "Practice money usage including cents"
msgstr "Esercizi con l'impiego dei soldi comprendente i centesimi"
+#
+# File: ../boards/mosaic.xml.in.h, line: 1
+# File: ../boards/mosaic.xml.in.h, line: 1
+# File: ../boards/mosaic.xml.in.h, line: 1
#: ../boards/mosaic.xml.in.h:1
msgid "Rebuild the mosaic"
msgstr "Ricomponi il mosaico"
+#
+# File: ../boards/mouse.xml.in.h, line: 1
+# File: ../boards/mouse.xml.in.h, line: 1
+# File: ../boards/mouse.xml.in.h, line: 1
#: ../boards/mouse.xml.in.h:1
msgid "Mouse-manipulation activities."
msgstr "Attività per l'utilizzo del mouse."
+#
+# File: ../boards/mouse.xml.in.h, line: 2
+# File: ../boards/mouse.xml.in.h, line: 2
+# File: ../boards/mouse.xml.in.h, line: 2
#: ../boards/mouse.xml.in.h:2
msgid "Various mouse-based activities (clicking, moving)"
msgstr "Attività varie basate sul mouse (cliccare, muovere)"
+#
+# File: ../boards/numeration.xml.in.h, line: 1
+# File: ../boards/numeration.xml.in.h, line: 1
+# File: ../boards/numeration.xml.in.h, line: 1
#: ../boards/numeration.xml.in.h:1
msgid "Numeration"
msgstr "Numerazione"
+#
+# File: ../boards/numeration.xml.in.h, line: 2
+# File: ../boards/numeration.xml.in.h, line: 2
+# File: ../boards/numeration.xml.in.h, line: 2
#: ../boards/numeration.xml.in.h:2
msgid "Numeration activities."
msgstr "Attività con la numerazione."
+#
+# File: ../boards/oscar_and_friends.xml.in.h, line: 1
+# File: ../boards/oscar_and_friends.xml.in.h, line: 1
+# File: ../boards/oscar_and_friends.xml.in.h, line: 1
+#: ../boards/oscar_and_friends.xml.in.h:1
+msgid "Improve reading skill and the ability to understand what is read."
+msgstr ""
+"Migliora la capacità di lettura e l'abilità a comprendere quello che hai "
+"letto."
+
+#
+# File: ../boards/oscar_and_friends.xml.in.h, line: 2
+# File: ../boards/oscar_and_friends.xml.in.h, line: 2
+# File: ../boards/oscar_and_friends.xml.in.h, line: 2
+#: ../boards/oscar_and_friends.xml.in.h:2
+msgid "Read and play with the story"
+msgstr "Leggi e gioca con il racconto"
+
+#
+# File: ../boards/oscar_and_friends.xml.in.h, line: 3
+# File: ../boards/oscar_and_friends.xml.in.h, line: 3
+# File: ../boards/oscar_and_friends.xml.in.h, line: 3
+#: ../boards/oscar_and_friends.xml.in.h:3
+msgid "The story of Oscar and friend"
+msgstr "La storia di Oscar e dei suoi amici"
+
+#
+# File: ../boards/oscar_and_friends.xml.in.h, line: 4
+# File: ../boards/oscar_and_friends.xml.in.h, line: 4
+# File: ../boards/oscar_and_friends.xml.in.h, line: 4
+#: ../boards/oscar_and_friends.xml.in.h:4
+msgid "reading"
+msgstr "leggere"
+
+#
+# File: ../boards/paintings.xml.in.h, line: 1
+# File: ../boards/paintings.xml.in.h, line: 1
+# File: ../boards/paintings.xml.in.h, line: 1
#: ../boards/paintings.xml.in.h:1
msgid "Assemble the puzzle"
msgstr "Completa il puzzle"
+#
+# File: ../boards/paintings.xml.in.h, line: 2
+# File: ../boards/paintings.xml.in.h, line: 2
+# File: ../boards/paintings.xml.in.h, line: 2
#: ../boards/paintings.xml.in.h:2
msgid "Drag and Drop the items to rebuild the original paintings"
msgstr ""
"Trascina e lascia i pezzi del puzzle per ricostruire il dipinto originale"
+#
+# File: ../boards/paintings.xml.in.h, line: 3
+# File: ../boards/paintings.xml.in.h, line: 3
+# File: ../boards/paintings.xml.in.h, line: 3
#: ../boards/paintings.xml.in.h:3
msgid ""
"Drag the image parts from the box on the left to create a painting on the "
@@ -3250,50 +6853,98 @@ msgstr ""
"Trascina le parti dell'immagine dalla cornice a sinistra per comporre il "
"dipinto nell'area principale."
+#
+# File: ../boards/paintings.xml.in.h, line: 4
+# File: ../boards/paintings.xml.in.h, line: 4
+# File: ../boards/paintings.xml.in.h, line: 4
#: ../boards/paintings.xml.in.h:4
msgid "Mouse-manipulation: movement, drag and drop"
msgstr "Utilizzo del mouse: muovere, trascinare e lasciare"
+#
+# File: ../boards/paintings.xml.in.h, line: 5
+# File: ../boards/paintings.xml.in.h, line: 5
+# File: ../boards/paintings.xml.in.h, line: 5
#: ../boards/paintings.xml.in.h:5
msgid "Spatial representation"
msgstr "Rappresentazione dello spazio"
+#
+# File: ../boards/paintings/board1_0.xml.in.h, line: 1
+# File: ../boards/paintings/board1_0.xml.in.h, line: 1
+# File: ../boards/paintings/board1_0.xml.in.h, line: 1
#: ../boards/paintings/board1_0.xml.in.h:1
msgid "Edgar Degas, The Dancing Class - 1873-75"
msgstr "Edgar Degas, La lezione di danza - 1873-75"
+#
+# File: ../boards/paintings/board2_0.xml.in.h, line: 1
+# File: ../boards/paintings/board2_0.xml.in.h, line: 1
+# File: ../boards/paintings/board2_0.xml.in.h, line: 1
#: ../boards/paintings/board2_0.xml.in.h:1
msgid "Pierre-Auguste Renoir, Le Moulin de la Galette - 1876"
msgstr "Pierre-Auguste Renoir, Il mulino della Galette - 1876"
+#
+# File: ../boards/paintings/board3_0.xml.in.h, line: 1
+# File: ../boards/paintings/board3_0.xml.in.h, line: 1
+# File: ../boards/paintings/board3_0.xml.in.h, line: 1
#: ../boards/paintings/board3_0.xml.in.h:1
msgid "Pierre-Auguste Renoir, Girls At The Piano - 1892"
msgstr "Pierre-Auguste Renoir, Le ragazze al piano - 1892"
+#
+# File: ../boards/paintings/board3_1.xml.in.h, line: 1
+# File: ../boards/paintings/board3_1.xml.in.h, line: 1
+# File: ../boards/paintings/board3_1.xml.in.h, line: 1
#: ../boards/paintings/board3_1.xml.in.h:1
msgid "Kandinsky, Wassily, Composition VIII - 1923"
msgstr "Kandinsky, Wassily, Composizione VIII - 1923"
+#
+# File: ../boards/paintings/board3_1.xml.in.h, line: 2
+# File: ../boards/paintings/board3_1.xml.in.h, line: 2
+# File: ../boards/paintings/board3_1.xml.in.h, line: 2
#: ../boards/paintings/board3_1.xml.in.h:2
msgid "Oil on canvas, 140 x 201 cm; Solomon R. Guggenheim Museum, New York"
msgstr "Olio su tela, 140 x 201 cm; Solomon R. Museo Guggenheim, New York"
+#
+# File: ../boards/paintings/board4_0.xml.in.h, line: 1
+# File: ../boards/paintings/board4_0.xml.in.h, line: 1
+# File: ../boards/paintings/board4_0.xml.in.h, line: 1
#: ../boards/paintings/board4_0.xml.in.h:1
msgid "Bazille, The Ramparts at Aigues-Mortes - 1867"
msgstr "Bazille, Le mura di Aigues-Mortes - 1867"
+#
+# File: ../boards/paintings/board5_0.xml.in.h, line: 1
+# File: ../boards/paintings/board5_0.xml.in.h, line: 1
+# File: ../boards/paintings/board5_0.xml.in.h, line: 1
#: ../boards/paintings/board5_0.xml.in.h:1
msgid "Cassatt, Mary - Summertime - 1894"
msgstr "Cassatt, Mary - L'estate - 1894"
+#
+# File: ../boards/paintings/board6_0.xml.in.h, line: 1
+# File: ../boards/paintings/board6_0.xml.in.h, line: 1
+# File: ../boards/paintings/board6_0.xml.in.h, line: 1
#: ../boards/paintings/board6_0.xml.in.h:1
msgid "Vincent Van Gogh, Village Street in Auvers - 1890"
msgstr "Vincent Van Gogh, La strada di paese in Auvers - 1890"
+#
+# File: ../boards/paratrooper.xml.in.h, line: 1
+# File: ../boards/paratrooper.xml.in.h, line: 1
+# File: ../boards/paratrooper.xml.in.h, line: 1
#: ../boards/paratrooper.xml.in.h:1
msgid "Help Tux the parachutist land safely"
msgstr "Aiuta il paracadutista Tux ad atterrare illeso"
+#
+# File: ../boards/paratrooper.xml.in.h, line: 2
+# File: ../boards/paratrooper.xml.in.h, line: 2
+# File: ../boards/paratrooper.xml.in.h, line: 2
#: ../boards/paratrooper.xml.in.h:2
msgid ""
"Hit any key or click on the plane to make Tux jump. Hit another key or click "
@@ -3302,6 +6953,10 @@ msgstr ""
"Premi un tasto qualsiasi o fai clic sull'aereoplano per far saltare Tux. "
"Premi un altro tasto o fai clic su Tux per aprire il paracadute."
+#
+# File: ../boards/paratrooper.xml.in.h, line: 3
+# File: ../boards/paratrooper.xml.in.h, line: 3
+# File: ../boards/paratrooper.xml.in.h, line: 3
#: ../boards/paratrooper.xml.in.h:3
msgid ""
"In this game, Tux the parachutist needs help to land safely on the fishing "
@@ -3311,15 +6966,27 @@ msgstr ""
"peschereccio. Bisogna fare attenzione alla direzione ed alla velocità del "
"vento."
+#
+# File: ../boards/paratrooper.xml.in.h, line: 4
+# File: ../boards/paratrooper.xml.in.h, line: 4
+# File: ../boards/paratrooper.xml.in.h, line: 4
#: ../boards/paratrooper.xml.in.h:4
msgid "Parachutist"
msgstr "Paracadutista"
+#
+# File: ../boards/paratrooper.xml.in.h, line: 5
+# File: ../boards/paratrooper.xml.in.h, line: 5
+# File: ../boards/paratrooper.xml.in.h, line: 5
#: ../boards/paratrooper.xml.in.h:5
msgid "This board is game-oriented. No specific skills are needed to play."
msgstr ""
"Questa sezione serve per giocare. Non sono richieste abilità specifiche."
+#
+# File: ../boards/planegame.xml.in.h, line: 1
+# File: ../boards/planegame.xml.in.h, line: 1
+# File: ../boards/planegame.xml.in.h, line: 1
#: ../boards/planegame.xml.in.h:1
msgid ""
"Catch the numbers in increasing order, using the up, down, right and left "
@@ -3328,52 +6995,103 @@ msgstr ""
"Cattura i numeri in ordine crescente, usando le freccette della tastiera per "
"muovere l'elicottero in alto, in basso, a destra e a sinistra."
+#
+# File: ../boards/planegame.xml.in.h, line: 2
+# File: ../boards/planegame.xml.in.h, line: 2
+# File: ../boards/planegame.xml.in.h, line: 2
#: ../boards/planegame.xml.in.h:2
msgid "Move the helicopter to catch the clouds in the correct order"
msgstr "Muovi l'elicottero per prendere le nuvole nell'ordine giusto"
+#
+# File: ../boards/planegame.xml.in.h, line: 3
+# File: ../boards/planegame.xml.in.h, line: 3
+# File: ../boards/planegame.xml.in.h, line: 3
#: ../boards/planegame.xml.in.h:3
msgid "Number"
msgstr "Numero"
-#: ../boards/planegame.xml.in.h:4 ../src/boards/planegame.c:77
+#
+# File: ../boards/planegame.xml.in.h, line: 4
+# File: ../src/boards/planegame.c, line: 74
+# File: ../boards/planegame.xml.in.h, line: 4
+# File: ../src/boards/planegame.c, line: 74
+# File: ../boards/planegame.xml.in.h, line: 4
+# File: ../src/boards/planegame.c, line: 74
+#: ../boards/planegame.xml.in.h:4 ../src/boards/planegame.c:74
msgid "Numbers in Order"
msgstr "Numeri in sequenza"
+#
+# File: ../boards/puzzle.xml.in.h, line: 1
+# File: ../boards/puzzle.xml.in.h, line: 1
+# File: ../boards/puzzle.xml.in.h, line: 1
#: ../boards/puzzle.xml.in.h:1
msgid "Puzzles"
msgstr "Rompicapi"
+#
+# File: ../boards/puzzle.xml.in.h, line: 2
+# File: ../boards/puzzle.xml.in.h, line: 2
+# File: ../boards/puzzle.xml.in.h, line: 2
#: ../boards/puzzle.xml.in.h:2
msgid "Various puzzles."
msgstr "Rompicapi vari."
+#
+# File: ../boards/pythontest.xml.in.h, line: 1
+# File: ../boards/pythontest.xml.in.h, line: 1
+# File: ../boards/pythontest.xml.in.h, line: 1
#: ../boards/pythontest.xml.in.h:1
msgid "Add a language-binding to gcompris."
msgstr "Aggiungi a gcompris un collegamento a una lingua."
+#
+# File: ../boards/pythontest.xml.in.h, line: 2
+# File: ../boards/pythontest.xml.in.h, line: 2
+# File: ../boards/pythontest.xml.in.h, line: 2
#: ../boards/pythontest.xml.in.h:2
msgid "Advanced Python Programmer :)"
msgstr "Programmatore esperto di Python :)"
+#
+# File: ../boards/pythontest.xml.in.h, line: 3
+# File: ../boards/pythontest.xml.in.h, line: 3
+# File: ../boards/pythontest.xml.in.h, line: 3
#: ../boards/pythontest.xml.in.h:3
msgid "Python Test"
msgstr "Test in Python"
+#
+# File: ../boards/pythontest.xml.in.h, line: 4
+# File: ../boards/pythontest.xml.in.h, line: 4
+# File: ../boards/pythontest.xml.in.h, line: 4
#: ../boards/pythontest.xml.in.h:4
msgid "Test board for the python plugin"
msgstr "Tavola di test per il plugin di Python"
+#
+# File: ../boards/pythontest.xml.in.h, line: 5
+# File: ../boards/pythontest.xml.in.h, line: 5
+# File: ../boards/pythontest.xml.in.h, line: 5
#: ../boards/pythontest.xml.in.h:5
msgid ""
"Thanks to Guido van Rossum and the python team for this powerful language!"
msgstr ""
"Grazie a Guido van Rossum e al gruppo Python per questo potente linguaggio!"
+#
+# File: ../boards/railroad.xml.in.h, line: 1
+# File: ../boards/railroad.xml.in.h, line: 1
+# File: ../boards/railroad.xml.in.h, line: 1
#: ../boards/railroad.xml.in.h:1
msgid "A memory game based on trains"
msgstr "Un gioco di memoria con i treni"
+#
+# File: ../boards/railroad.xml.in.h, line: 2
+# File: ../boards/railroad.xml.in.h, line: 2
+# File: ../boards/railroad.xml.in.h, line: 2
#: ../boards/railroad.xml.in.h:2
msgid ""
"A train - a locomotive and carriage(s) - is displayed at the top of the main "
@@ -3387,82 +7105,165 @@ msgstr ""
"selezione rifai clic sull'oggetto. Conferma la tua costruzione facendo clic "
"sulla mano in basso."
+#
+# File: ../boards/railroad.xml.in.h, line: 3
+# File: ../boards/railroad.xml.in.h, line: 3
+# File: ../boards/railroad.xml.in.h, line: 3
#: ../boards/railroad.xml.in.h:3
msgid "Memory-training"
msgstr "Allenamento della memoria"
+#
+# File: ../boards/railroad.xml.in.h, line: 5
+# File: ../boards/railroad.xml.in.h, line: 5
+# File: ../boards/railroad.xml.in.h, line: 5
#: ../boards/railroad.xml.in.h:5
msgid "Railway"
msgstr "Ferrovia"
+#
+# File: ../boards/read_colors.xml.in.h, line: 2
+# File: ../boards/read_colors.xml.in.h, line: 2
+# File: ../boards/read_colors.xml.in.h, line: 2
#: ../boards/read_colors.xml.in.h:2
msgid "Click on the correct colored object."
msgstr "Fai clic sull'oggetto del colore giusto"
+#
+# File: ../boards/read_colors.xml.in.h, line: 3
+# File: ../boards/read_colors.xml.in.h, line: 3
+# File: ../boards/read_colors.xml.in.h, line: 3
#: ../boards/read_colors.xml.in.h:3
msgid "Click on the matching color"
msgstr "Fai clic sul colore corrispondente"
+#
+# File: ../boards/read_colors.xml.in.h, line: 4
+# File: ../boards/read_colors.xml.in.h, line: 4
+# File: ../boards/read_colors.xml.in.h, line: 4
#: ../boards/read_colors.xml.in.h:4
msgid "Read the names of colors"
msgstr "Leggi i nomi dei colori"
+#
+# File: ../boards/read_colors.xml.in.h, line: 5
+# File: ../boards/read_colors.xml.in.h, line: 5
+# File: ../boards/read_colors.xml.in.h, line: 5
#: ../boards/read_colors.xml.in.h:5
msgid "This board teaches basic colors."
msgstr "Questa tavola è dedicata alla conoscenza dei colori di base"
+#
+# File: ../boards/read_colors/board1.xml.in.h, line: 1
+# File: ../boards/read_colors/board1.xml.in.h, line: 1
+# File: ../boards/read_colors/board1.xml.in.h, line: 1
#: ../boards/read_colors/board1.xml.in.h:1
msgid "black"
msgstr "nero"
+#
+# File: ../boards/read_colors/board1.xml.in.h, line: 2
+# File: ../boards/read_colors/board1.xml.in.h, line: 2
+# File: ../boards/read_colors/board1.xml.in.h, line: 2
#: ../boards/read_colors/board1.xml.in.h:2
msgid "blue"
msgstr "blu"
+#
+# File: ../boards/read_colors/board1.xml.in.h, line: 3
+# File: ../boards/read_colors/board1.xml.in.h, line: 3
+# File: ../boards/read_colors/board1.xml.in.h, line: 3
#: ../boards/read_colors/board1.xml.in.h:3
msgid "brown"
msgstr "marrone"
+#
+# File: ../boards/read_colors/board1.xml.in.h, line: 4
+# File: ../boards/read_colors/board1.xml.in.h, line: 4
+# File: ../boards/read_colors/board1.xml.in.h, line: 4
#: ../boards/read_colors/board1.xml.in.h:4
msgid "green"
msgstr "verde"
+#
+# File: ../boards/read_colors/board1.xml.in.h, line: 5
+# File: ../boards/read_colors/board1.xml.in.h, line: 5
+# File: ../boards/read_colors/board1.xml.in.h, line: 5
#: ../boards/read_colors/board1.xml.in.h:5
msgid "grey"
msgstr "grigio"
+#
+# File: ../boards/read_colors/board1.xml.in.h, line: 6
+# File: ../boards/read_colors/board1.xml.in.h, line: 6
+# File: ../boards/read_colors/board1.xml.in.h, line: 6
#: ../boards/read_colors/board1.xml.in.h:6
msgid "orange"
msgstr "arancione"
+#
+# File: ../boards/read_colors/board1.xml.in.h, line: 7
+# File: ../boards/read_colors/board1.xml.in.h, line: 7
+# File: ../boards/read_colors/board1.xml.in.h, line: 7
#: ../boards/read_colors/board1.xml.in.h:7
msgid "pink"
msgstr "rosa"
+#
+# File: ../boards/read_colors/board1.xml.in.h, line: 8
+# File: ../boards/read_colors/board1.xml.in.h, line: 8
+# File: ../boards/read_colors/board1.xml.in.h, line: 8
#: ../boards/read_colors/board1.xml.in.h:8
msgid "red"
msgstr "rosso"
+#
+# File: ../boards/read_colors/board1.xml.in.h, line: 9
+# File: ../boards/read_colors/board1.xml.in.h, line: 9
+# File: ../boards/read_colors/board1.xml.in.h, line: 9
#: ../boards/read_colors/board1.xml.in.h:9
msgid "violet"
msgstr "viola"
+#
+# File: ../boards/read_colors/board1.xml.in.h, line: 10
+# File: ../boards/read_colors/board1.xml.in.h, line: 10
+# File: ../boards/read_colors/board1.xml.in.h, line: 10
#: ../boards/read_colors/board1.xml.in.h:10
msgid "white"
msgstr "bianco"
+#
+# File: ../boards/read_colors/board1.xml.in.h, line: 11
+# File: ../boards/read_colors/board1.xml.in.h, line: 11
+# File: ../boards/read_colors/board1.xml.in.h, line: 11
#: ../boards/read_colors/board1.xml.in.h:11
msgid "yellow"
msgstr "giallo"
+#
+# File: ../boards/reading.xml.in.h, line: 1
+# File: ../boards/reading.xml.in.h, line: 1
+# File: ../boards/reading.xml.in.h, line: 1
#: ../boards/reading.xml.in.h:1
msgid "Go to the Reading activities"
msgstr "Vai alle attività di lettura"
+#
+# File: ../boards/reading.xml.in.h, line: 2
+# File: ../boards/reading.xml.in.h, line: 2
+# File: ../boards/reading.xml.in.h, line: 2
#: ../boards/reading.xml.in.h:2
msgid "Reading activities."
msgstr "Attività di lettura."
+#
+# File: ../boards/readingh.xml.in.h, line: 1
+# File: ../boards/readingv.xml.in.h, line: 1
+# File: ../boards/readingh.xml.in.h, line: 1
+# File: ../boards/readingv.xml.in.h, line: 1
+# File: ../boards/readingh.xml.in.h, line: 1
+# File: ../boards/readingv.xml.in.h, line: 1
#: ../boards/readingh.xml.in.h:1 ../boards/readingv.xml.in.h:1
msgid ""
"A word is shown at the top right of the board. A list of words will appear "
@@ -3472,34 +7273,66 @@ msgstr ""
"sparirà una lista di parole. Indica se la parola data è apparsa o no nella "
"lista."
+#
+# File: ../boards/readingh.xml.in.h, line: 2
+# File: ../boards/readingh.xml.in.h, line: 2
+# File: ../boards/readingh.xml.in.h, line: 2
#: ../boards/readingh.xml.in.h:2
msgid "Horizontal reading practice"
msgstr "Esercizi di lettura in orizzontale"
+#
+# File: ../boards/readingh.xml.in.h, line: 3
+# File: ../boards/readingh.xml.in.h, line: 3
+# File: ../boards/readingh.xml.in.h, line: 3
#: ../boards/readingh.xml.in.h:3
msgid "Read a list of words and work out if a given word is in it"
msgstr "Leggi una lista di parole e dimmi se contiene quella data"
+#
+# File: ../boards/readingh.xml.in.h, line: 5
+# File: ../boards/readingh.xml.in.h, line: 5
+# File: ../boards/readingh.xml.in.h, line: 5
#: ../boards/readingh.xml.in.h:5
msgid "Reading training in a limited time"
msgstr "Esercizi di lettura a tempo"
+#
+# File: ../boards/readingv.xml.in.h, line: 2
+# File: ../boards/readingv.xml.in.h, line: 2
+# File: ../boards/readingv.xml.in.h, line: 2
#: ../boards/readingv.xml.in.h:2
msgid "Read a vertical list of words and work out if a given word is in it"
msgstr "Leggi una lista verticale di parole e dimmi se contiene quella data"
+#
+# File: ../boards/readingv.xml.in.h, line: 3
+# File: ../boards/readingv.xml.in.h, line: 3
+# File: ../boards/readingv.xml.in.h, line: 3
#: ../boards/readingv.xml.in.h:3
msgid "Read training in a limited time"
msgstr "Esercizi di lettura a tempo"
+#
+# File: ../boards/readingv.xml.in.h, line: 5
+# File: ../boards/readingv.xml.in.h, line: 5
+# File: ../boards/readingv.xml.in.h, line: 5
#: ../boards/readingv.xml.in.h:5
msgid "Vertical-reading practice"
msgstr "Esercizi di lettura in verticale"
+#
+# File: ../boards/redraw.xml.in.h, line: 1
+# File: ../boards/redraw.xml.in.h, line: 1
+# File: ../boards/redraw.xml.in.h, line: 1
#: ../boards/redraw.xml.in.h:1
msgid "Copy a drawing from the box on the right into the box on the left."
msgstr "Copia un disegno dalla cornice a destra nella cornice a sinistra."
+#
+# File: ../boards/redraw.xml.in.h, line: 2
+# File: ../boards/redraw.xml.in.h, line: 2
+# File: ../boards/redraw.xml.in.h, line: 2
#: ../boards/redraw.xml.in.h:2
msgid ""
"First, select the proper tool from the toolbar. Then drag the mouse to "
@@ -3513,10 +7346,18 @@ msgstr ""
"oggetti (sopra/sotto) non è importante ma fai attenzione che non ci sia un "
"oggetto indesiderato sotto gli altri. "
+#
+# File: ../boards/redraw.xml.in.h, line: 3
+# File: ../boards/redraw.xml.in.h, line: 3
+# File: ../boards/redraw.xml.in.h, line: 3
#: ../boards/redraw.xml.in.h:3
msgid "Redraw the given item"
msgstr "Riproduci l'oggetto mostrato"
+#
+# File: ../boards/redraw_symmetrical.xml.in.h, line: 1
+# File: ../boards/redraw_symmetrical.xml.in.h, line: 1
+# File: ../boards/redraw_symmetrical.xml.in.h, line: 1
#: ../boards/redraw_symmetrical.xml.in.h:1
msgid ""
"Copy the mirror image of an object from the box on the right into the box on "
@@ -3525,6 +7366,10 @@ msgstr ""
"Riproduci l'immagine speculare di un oggetto dalla cornice a destra \n"
"nella cornice a sinistra."
+#
+# File: ../boards/redraw_symmetrical.xml.in.h, line: 2
+# File: ../boards/redraw_symmetrical.xml.in.h, line: 2
+# File: ../boards/redraw_symmetrical.xml.in.h, line: 2
#: ../boards/redraw_symmetrical.xml.in.h:2
msgid ""
"First, select the proper tool from the toolbar. Then drag the mouse to "
@@ -3539,10 +7384,18 @@ msgstr ""
"oggetti (sopra/sotto) non è importante, ma fai attenzione che non ci sia un "
"oggetto indesiderato sotto gli altri. "
+#
+# File: ../boards/redraw_symmetrical.xml.in.h, line: 3
+# File: ../boards/redraw_symmetrical.xml.in.h, line: 3
+# File: ../boards/redraw_symmetrical.xml.in.h, line: 3
#: ../boards/redraw_symmetrical.xml.in.h:3
msgid "Mirror the given item"
msgstr "Riproduci l'oggetto mostrato"
+#
+# File: ../boards/reversecount.xml.in.h, line: 1
+# File: ../boards/reversecount.xml.in.h, line: 1
+# File: ../boards/reversecount.xml.in.h, line: 1
#: ../boards/reversecount.xml.in.h:1
msgid ""
"Can move the mouse, can read numbers and subtract numbers up to 10 for the "
@@ -3551,6 +7404,10 @@ msgstr ""
"Saper muovere il mouse, saper leggere i numeri e sottrarre quelli fino a 10 "
"per il primo livello"
+#
+# File: ../boards/reversecount.xml.in.h, line: 2
+# File: ../boards/reversecount.xml.in.h, line: 2
+# File: ../boards/reversecount.xml.in.h, line: 2
#: ../boards/reversecount.xml.in.h:2
msgid ""
"Click on the dice to show how many ice spots there are between Tux and the "
@@ -3562,15 +7419,81 @@ msgstr ""
"Quando hai finito, fai clic sul bottone OK o premi il tasto invio della "
"tastiera."
+#
+# File: ../boards/reversecount.xml.in.h, line: 3
+# File: ../boards/reversecount.xml.in.h, line: 3
+# File: ../boards/reversecount.xml.in.h, line: 3
#: ../boards/reversecount.xml.in.h:3
msgid "Practice subtraction with a fun game"
msgstr "Esercizi di sottrazione con un gioco divertente"
+#
+# File: ../boards/reversecount.xml.in.h, line: 4
+# File: ../boards/reversecount.xml.in.h, line: 4
+# File: ../boards/reversecount.xml.in.h, line: 4
#: ../boards/reversecount.xml.in.h:4
msgid "Tux is hungry. Help him find fish by counting to the correct ice spot."
msgstr ""
"Tux è affamato. Aiutalo a trovare il pesce contando i pezzi di ghiaccio."
+#
+# File: ../boards/scales/board1_0.xml.in.h, line: 1
+# File: ../boards/scales/board1_1.xml.in.h, line: 1
+# File: ../boards/scales/board1_2.xml.in.h, line: 1
+# File: ../boards/scales/board1_3.xml.in.h, line: 1
+# File: ../boards/scales/board1_4.xml.in.h, line: 1
+# File: ../boards/scales/board1_5.xml.in.h, line: 1
+# File: ../boards/scales/board2_0.xml.in.h, line: 1
+# File: ../boards/scales/board2_1.xml.in.h, line: 1
+# File: ../boards/scales/board2_2.xml.in.h, line: 1
+# File: ../boards/scales/board2_3.xml.in.h, line: 1
+# File: ../boards/scales/board2_4.xml.in.h, line: 1
+# File: ../boards/scales/board2_5.xml.in.h, line: 1
+# File: ../boards/scales/board3_0.xml.in.h, line: 1
+# File: ../boards/scales/board3_1.xml.in.h, line: 1
+# File: ../boards/scales/board3_2.xml.in.h, line: 1
+# File: ../boards/scales/board3_3.xml.in.h, line: 1
+# File: ../boards/scales/board3_4.xml.in.h, line: 1
+# File: ../boards/scales/board3_5.xml.in.h, line: 1
+# File: ../boards/scalesboard.xml.in.h, line: 2
+# File: ../boards/scales/board1_0.xml.in.h, line: 1
+# File: ../boards/scales/board1_1.xml.in.h, line: 1
+# File: ../boards/scales/board1_2.xml.in.h, line: 1
+# File: ../boards/scales/board1_3.xml.in.h, line: 1
+# File: ../boards/scales/board1_4.xml.in.h, line: 1
+# File: ../boards/scales/board1_5.xml.in.h, line: 1
+# File: ../boards/scales/board2_0.xml.in.h, line: 1
+# File: ../boards/scales/board2_1.xml.in.h, line: 1
+# File: ../boards/scales/board2_2.xml.in.h, line: 1
+# File: ../boards/scales/board2_3.xml.in.h, line: 1
+# File: ../boards/scales/board2_4.xml.in.h, line: 1
+# File: ../boards/scales/board2_5.xml.in.h, line: 1
+# File: ../boards/scales/board3_0.xml.in.h, line: 1
+# File: ../boards/scales/board3_1.xml.in.h, line: 1
+# File: ../boards/scales/board3_2.xml.in.h, line: 1
+# File: ../boards/scales/board3_3.xml.in.h, line: 1
+# File: ../boards/scales/board3_4.xml.in.h, line: 1
+# File: ../boards/scales/board3_5.xml.in.h, line: 1
+# File: ../boards/scalesboard.xml.in.h, line: 2
+# File: ../boards/scales/board1_0.xml.in.h, line: 1
+# File: ../boards/scales/board1_1.xml.in.h, line: 1
+# File: ../boards/scales/board1_2.xml.in.h, line: 1
+# File: ../boards/scales/board1_3.xml.in.h, line: 1
+# File: ../boards/scales/board1_4.xml.in.h, line: 1
+# File: ../boards/scales/board1_5.xml.in.h, line: 1
+# File: ../boards/scales/board2_0.xml.in.h, line: 1
+# File: ../boards/scales/board2_1.xml.in.h, line: 1
+# File: ../boards/scales/board2_2.xml.in.h, line: 1
+# File: ../boards/scales/board2_3.xml.in.h, line: 1
+# File: ../boards/scales/board2_4.xml.in.h, line: 1
+# File: ../boards/scales/board2_5.xml.in.h, line: 1
+# File: ../boards/scales/board3_0.xml.in.h, line: 1
+# File: ../boards/scales/board3_1.xml.in.h, line: 1
+# File: ../boards/scales/board3_2.xml.in.h, line: 1
+# File: ../boards/scales/board3_3.xml.in.h, line: 1
+# File: ../boards/scales/board3_4.xml.in.h, line: 1
+# File: ../boards/scales/board3_5.xml.in.h, line: 1
+# File: ../boards/scalesboard.xml.in.h, line: 2
#: ../boards/scales/board1_0.xml.in.h:1 ../boards/scales/board1_1.xml.in.h:1
#: ../boards/scales/board1_2.xml.in.h:1 ../boards/scales/board1_3.xml.in.h:1
#: ../boards/scales/board1_4.xml.in.h:1 ../boards/scales/board1_5.xml.in.h:1
@@ -3584,14 +7507,26 @@ msgstr ""
msgid "Drag and Drop masses to balance the scales"
msgstr "Trascina e lascia i pesi per equilibrare la bilancia"
+#
+# File: ../boards/scalesboard.xml.in.h, line: 1
+# File: ../boards/scalesboard.xml.in.h, line: 1
+# File: ../boards/scalesboard.xml.in.h, line: 1
#: ../boards/scalesboard.xml.in.h:1
msgid "Balance the scales properly"
msgstr "Metti in equilibrio le bilance"
+#
+# File: ../boards/scalesboard.xml.in.h, line: 3
+# File: ../boards/scalesboard.xml.in.h, line: 3
+# File: ../boards/scalesboard.xml.in.h, line: 3
#: ../boards/scalesboard.xml.in.h:3
msgid "Mental calculation, arithmetic equality"
msgstr "Calcoli mentali, uguaglianza aritmetica"
+#
+# File: ../boards/scalesboard.xml.in.h, line: 4
+# File: ../boards/scalesboard.xml.in.h, line: 4
+# File: ../boards/scalesboard.xml.in.h, line: 4
#: ../boards/scalesboard.xml.in.h:4
msgid ""
"The painting is an original painting created by Virginie MOREAU (virginie."
@@ -3602,6 +7537,10 @@ msgstr ""
"nel 2001. Il suo titolo è \"Lo speziale d'Egitto\" ed è stato rilasciato con "
"licenza GPL."
+#
+# File: ../boards/scalesboard.xml.in.h, line: 5
+# File: ../boards/scalesboard.xml.in.h, line: 5
+# File: ../boards/scalesboard.xml.in.h, line: 5
#: ../boards/scalesboard.xml.in.h:5
msgid ""
"To balance the scales, move the masses on the left side. The masses can be "
@@ -3610,10 +7549,21 @@ msgstr ""
"Per equilibrare la bilancia muovi i pesi sul piatto di sinistra. I pesi "
"possono essere sistemati in qualsiasi ordine."
+#
+# File: ../boards/searace.xml.in.h, line: 1
+# File: ../boards/searace.xml.in.h, line: 1
+# File: ../boards/searace.xml.in.h, line: 1
#: ../boards/searace.xml.in.h:1
msgid "Direct your boat accurately to win the race."
msgstr "Guida con precisione la tua barca per vincere la gara."
+#
+# File: ../boards/searace.xml.in.h, line: 2
+# File: ../boards/searace1player.xml.in.h, line: 2
+# File: ../boards/searace.xml.in.h, line: 2
+# File: ../boards/searace1player.xml.in.h, line: 2
+# File: ../boards/searace.xml.in.h, line: 2
+# File: ../boards/searace1player.xml.in.h, line: 2
#: ../boards/searace.xml.in.h:2 ../boards/searace1player.xml.in.h:2
msgid ""
"In the text entry, enter one command per line, to control your boat. "
@@ -3644,6 +7594,13 @@ msgstr ""
"avere la misura di distanza e angolo. Nel livello successivo troverai "
"condizioni climatiche più complesse."
+#
+# File: ../boards/searace.xml.in.h, line: 3
+# File: ../boards/searace1player.xml.in.h, line: 3
+# File: ../boards/searace.xml.in.h, line: 3
+# File: ../boards/searace1player.xml.in.h, line: 3
+# File: ../boards/searace.xml.in.h, line: 3
+# File: ../boards/searace1player.xml.in.h, line: 3
#: ../boards/searace.xml.in.h:3 ../boards/searace1player.xml.in.h:3
msgid ""
"In this activity, you will learn how to enter commands into a computer. Even "
@@ -3656,60 +7613,128 @@ msgstr ""
"un programma. Questa attività può essere utilizzata per introdurre il "
"concetto di programmazione ai bambini."
+#
+# File: ../boards/searace.xml.in.h, line: 4
+# File: ../boards/searace.xml.in.h, line: 4
+# File: ../boards/searace.xml.in.h, line: 4
#: ../boards/searace.xml.in.h:4
msgid "Sea race (2 Players)"
msgstr "La gara sul mare (2 giocatori)"
+#
+# File: ../boards/searace1player.xml.in.h, line: 1
+# File: ../boards/searace1player.xml.in.h, line: 1
+# File: ../boards/searace1player.xml.in.h, line: 1
#: ../boards/searace1player.xml.in.h:1
msgid "Give good instructions to your ship in order to be first in the race."
msgstr "Dai dei buoni comandi alla tua barca per arrivare primo nella gara."
+#
+# File: ../boards/searace1player.xml.in.h, line: 4
+# File: ../boards/searace1player.xml.in.h, line: 4
+# File: ../boards/searace1player.xml.in.h, line: 4
#: ../boards/searace1player.xml.in.h:4
msgid "Sea race (Single Player)"
msgstr "La gara sul mare (Un giocatore)"
+#
+# File: ../boards/smallnumbers.xml.in.h, line: 1
+# File: ../boards/smallnumbers2.xml.in.h, line: 1
+# File: ../boards/smallnumbers.xml.in.h, line: 1
+# File: ../boards/smallnumbers2.xml.in.h, line: 1
+# File: ../boards/smallnumbers.xml.in.h, line: 1
+# File: ../boards/smallnumbers2.xml.in.h, line: 1
#: ../boards/smallnumbers.xml.in.h:1 ../boards/smallnumbers2.xml.in.h:1
msgid "Count the number of dots on dice before they reach the ground"
msgstr "Conta il numero di punti sul dado prima che tocchi terra"
+#
+# File: ../boards/smallnumbers.xml.in.h, line: 2
+# File: ../boards/smallnumbers2.xml.in.h, line: 2
+# File: ../boards/smallnumbers.xml.in.h, line: 2
+# File: ../boards/smallnumbers2.xml.in.h, line: 2
+# File: ../boards/smallnumbers.xml.in.h, line: 2
+# File: ../boards/smallnumbers2.xml.in.h, line: 2
#: ../boards/smallnumbers.xml.in.h:2 ../boards/smallnumbers2.xml.in.h:2
msgid "Counting skills"
msgstr "Abilità nel contare"
+#
+# File: ../boards/smallnumbers.xml.in.h, line: 3
+# File: ../boards/smallnumbers2.xml.in.h, line: 3
+# File: ../boards/smallnumbers.xml.in.h, line: 3
+# File: ../boards/smallnumbers2.xml.in.h, line: 3
+# File: ../boards/smallnumbers.xml.in.h, line: 3
+# File: ../boards/smallnumbers2.xml.in.h, line: 3
#: ../boards/smallnumbers.xml.in.h:3 ../boards/smallnumbers2.xml.in.h:3
msgid "In a limited time, count the number of dots"
msgstr "Entro il tempo limite, conta il numero di punti"
+#
+# File: ../boards/smallnumbers.xml.in.h, line: 4
+# File: ../boards/smallnumbers.xml.in.h, line: 4
+# File: ../boards/smallnumbers.xml.in.h, line: 4
#: ../boards/smallnumbers.xml.in.h:4
msgid "Numbers With Dice"
msgstr "I numeri dei dadi"
+#
+# File: ../boards/smallnumbers.xml.in.h, line: 5
+# File: ../boards/smallnumbers2.xml.in.h, line: 5
+# File: ../boards/smallnumbers.xml.in.h, line: 5
+# File: ../boards/smallnumbers2.xml.in.h, line: 5
+# File: ../boards/smallnumbers.xml.in.h, line: 5
+# File: ../boards/smallnumbers2.xml.in.h, line: 5
#: ../boards/smallnumbers.xml.in.h:5 ../boards/smallnumbers2.xml.in.h:5
msgid "With the keyboard, type the number of dots you see on the falling dice."
msgstr ""
"Usando la tastiera, premi il numero corrispondente al numero di punti che "
"vedi sul dado che cade."
+#
+# File: ../boards/smallnumbers2.xml.in.h, line: 4
+# File: ../boards/smallnumbers2.xml.in.h, line: 4
+# File: ../boards/smallnumbers2.xml.in.h, line: 4
#: ../boards/smallnumbers2.xml.in.h:4
msgid "Numbers with pairs of dice"
msgstr "I numeri con le coppie di dadi"
+#
+# File: ../boards/sound_group.xml.in.h, line: 1
+# File: ../boards/sound_group.xml.in.h, line: 1
+# File: ../boards/sound_group.xml.in.h, line: 1
#: ../boards/sound_group.xml.in.h:1
msgid "Go to Sound activities"
msgstr "Vai alle attività con i suoni"
+#
+# File: ../boards/sound_group.xml.in.h, line: 2
+# File: ../boards/sound_group.xml.in.h, line: 2
+# File: ../boards/sound_group.xml.in.h, line: 2
#: ../boards/sound_group.xml.in.h:2
msgid "Sound based activities."
msgstr "Attività basate sul suono."
+#
+# File: ../boards/strategy.xml.in.h, line: 1
+# File: ../boards/strategy.xml.in.h, line: 1
+# File: ../boards/strategy.xml.in.h, line: 1
#: ../boards/strategy.xml.in.h:1
msgid "Strategy games"
msgstr "Giochi di strategia"
+#
+# File: ../boards/strategy.xml.in.h, line: 2
+# File: ../boards/strategy.xml.in.h, line: 2
+# File: ../boards/strategy.xml.in.h, line: 2
#: ../boards/strategy.xml.in.h:2
msgid "Strategy games like chess, connect4, ..."
msgstr "Giochi di strategia come gli scacchi, forza4, ..."
+#
+# File: ../boards/submarine.xml.in.h, line: 1
+# File: ../boards/submarine.xml.in.h, line: 1
+# File: ../boards/submarine.xml.in.h, line: 1
#: ../boards/submarine.xml.in.h:1
msgid ""
"Click on different active elements : engine, rudders and air tanks, in order "
@@ -3718,27 +7743,51 @@ msgstr ""
"Fai clic sui vari elementi attivi: motore, timoni e serbatoi d'aria, in modo "
"da navigare alla profondità richiesta."
+#
+# File: ../boards/submarine.xml.in.h, line: 2
+# File: ../boards/submarine.xml.in.h, line: 2
+# File: ../boards/submarine.xml.in.h, line: 2
#: ../boards/submarine.xml.in.h:2
msgid "Learn how a submarine works"
msgstr "Impara come funziona un sottomarino"
+#
+# File: ../boards/submarine.xml.in.h, line: 3
+# File: ../boards/submarine.xml.in.h, line: 3
+# File: ../boards/submarine.xml.in.h, line: 3
#: ../boards/submarine.xml.in.h:3
msgid "Physics basics"
msgstr "Elementi di fisica"
+#
+# File: ../boards/submarine.xml.in.h, line: 4
+# File: ../boards/submarine.xml.in.h, line: 4
+# File: ../boards/submarine.xml.in.h, line: 4
#: ../boards/submarine.xml.in.h:4
msgid "Pilot a submarine"
msgstr "Pilota un sottomarino"
+#
+# File: ../boards/submarine.xml.in.h, line: 5
+# File: ../boards/submarine.xml.in.h, line: 5
+# File: ../boards/submarine.xml.in.h, line: 5
#: ../boards/submarine.xml.in.h:5
msgid "Pilot a submarine using air tanks and dive rudders"
msgstr ""
"Pilota un sottomarino usando i serbatoi d'aria e i timoni di profondità"
+#
+# File: ../boards/sudoku.xml.in.h, line: 1
+# File: ../boards/sudoku.xml.in.h, line: 1
+# File: ../boards/sudoku.xml.in.h, line: 1
#: ../boards/sudoku.xml.in.h:1
msgid "Completing the puzzle requires patience and logical ability"
msgstr "Completare il rompicapo richiede pazienza ed abilità logica"
+#
+# File: ../boards/sudoku.xml.in.h, line: 2
+# File: ../boards/sudoku.xml.in.h, line: 2
+# File: ../boards/sudoku.xml.in.h, line: 2
#: ../boards/sudoku.xml.in.h:2
msgid ""
"For the first level with colored symbols, drag symbols on the left to their "
@@ -3751,10 +7800,18 @@ msgstr ""
"quadrato vuoto per inserire con la tastiera una possibile lettera o numero. "
"GCompris non ti lascerà inserire dati non validi."
+#
+# File: ../boards/sudoku.xml.in.h, line: 3
+# File: ../boards/sudoku.xml.in.h, line: 3
+# File: ../boards/sudoku.xml.in.h, line: 3
#: ../boards/sudoku.xml.in.h:3
msgid "Sudoku, place unique symbols in a square."
msgstr "Sudoku, posiziona senza ripetizioni i simboli in un quadrato."
+#
+# File: ../boards/sudoku.xml.in.h, line: 4
+# File: ../boards/sudoku.xml.in.h, line: 4
+# File: ../boards/sudoku.xml.in.h, line: 4
#: ../boards/sudoku.xml.in.h:4
msgid ""
"Symbols must be unique in a row, in a column, and (if defined) each region."
@@ -3762,6 +7819,10 @@ msgstr ""
"I simboli devono essere contenuti solo una volta in ogni riga, in ogni "
"colonna e (se definito) in ogni regione."
+#
+# File: ../boards/sudoku.xml.in.h, line: 5
+# File: ../boards/sudoku.xml.in.h, line: 5
+# File: ../boards/sudoku.xml.in.h, line: 5
#: ../boards/sudoku.xml.in.h:5
msgid ""
"The aim of the puzzle is to enter a symbol or numeral from 1 through 9 in "
@@ -3778,6 +7839,10 @@ msgstr ""
"contenere solo una volta ogni simbolo o numero(Fonte &lt;http://en.wikipedia."
"org/wiki/Sudoku&gt;)."
+#
+# File: ../boards/superbrain.xml.in.h, line: 1
+# File: ../boards/superbrain.xml.in.h, line: 1
+# File: ../boards/superbrain.xml.in.h, line: 1
#: ../boards/superbrain.xml.in.h:1
msgid ""
"Click on the items until you find what you think is the correct answer. "
@@ -3791,14 +7856,32 @@ msgstr ""
"indica se hai trovato un posto nascosto contornandolo di nero. Puoi usare il "
"tasto destro del mouse per scambiare i colori."
-#: ../boards/superbrain.xml.in.h:2 ../src/boards/superbrain.c:110
+#
+# File: ../boards/superbrain.xml.in.h, line: 2
+# File: ../src/boards/superbrain.c, line: 106
+# File: ../boards/superbrain.xml.in.h, line: 2
+# File: ../src/boards/superbrain.c, line: 106
+# File: ../boards/superbrain.xml.in.h, line: 2
+# File: ../src/boards/superbrain.c, line: 106
+#: ../boards/superbrain.xml.in.h:2 ../src/boards/superbrain.c:106
msgid "Super Brain"
msgstr "Cervellone"
-#: ../boards/superbrain.xml.in.h:3 ../src/boards/superbrain.c:111
+#
+# File: ../boards/superbrain.xml.in.h, line: 3
+# File: ../src/boards/superbrain.c, line: 107
+# File: ../boards/superbrain.xml.in.h, line: 3
+# File: ../src/boards/superbrain.c, line: 107
+# File: ../boards/superbrain.xml.in.h, line: 3
+# File: ../src/boards/superbrain.c, line: 107
+#: ../boards/superbrain.xml.in.h:3 ../src/boards/superbrain.c:107
msgid "Tux has hidden several items. Find them again in the correct order"
msgstr "Tux ha nascosto vari oggetti. Trovali nell'ordine giusto"
+#
+# File: ../boards/tangram.xml.in.h, line: 1
+# File: ../boards/tangram.xml.in.h, line: 1
+# File: ../boards/tangram.xml.in.h, line: 1
#: ../boards/tangram.xml.in.h:1
msgid ""
"From Wikipedia, the free encyclopedia. Tangram (Chinese: literally \"seven "
@@ -3826,6 +7909,10 @@ msgstr ""
"\t* un quadrato (lato=1)\n"
"\t* un parallelogramma(con lati 1 e radice di 2)"
+#
+# File: ../boards/tangram.xml.in.h, line: 9
+# File: ../boards/tangram.xml.in.h, line: 9
+# File: ../boards/tangram.xml.in.h, line: 9
#: ../boards/tangram.xml.in.h:9
msgid ""
"Select the tangram to form. Move a piece by dragging it. Right-click on it "
@@ -3842,10 +7929,18 @@ msgstr ""
"la forma del tangram e saranno disegnati i bordi dentro i quali posizionare "
"i pezzi."
+#
+# File: ../boards/tangram.xml.in.h, line: 10
+# File: ../boards/tangram.xml.in.h, line: 10
+# File: ../boards/tangram.xml.in.h, line: 10
#: ../boards/tangram.xml.in.h:10
msgid "The objective is to form a given shape with seven pieces"
msgstr "Lo scopo è comporre con sette pezzi la figura mostrata"
+#
+# File: ../boards/tangram.xml.in.h, line: 11
+# File: ../boards/tangram.xml.in.h, line: 11
+# File: ../boards/tangram.xml.in.h, line: 11
#: ../boards/tangram.xml.in.h:11
msgid ""
"The original code was written by Philippe Banwarth in 1999. It was ported to "
@@ -3854,10 +7949,18 @@ msgstr ""
"Il codice originale è stato scritto da Philippe Banwarth nel 1999. É stato "
"adattato a GCompris da Yves Combe nel 2005."
+#
+# File: ../boards/tangram.xml.in.h, line: 12
+# File: ../boards/tangram.xml.in.h, line: 12
+# File: ../boards/tangram.xml.in.h, line: 12
#: ../boards/tangram.xml.in.h:12
msgid "The tangram puzzle game"
msgstr "Il rompicapo tangram"
+#
+# File: ../boards/target.xml.in.h, line: 1
+# File: ../boards/target.xml.in.h, line: 1
+# File: ../boards/target.xml.in.h, line: 1
#: ../boards/target.xml.in.h:1
msgid ""
"Can move the mouse, can read numbers and count up to 15 for the first level"
@@ -3865,6 +7968,10 @@ msgstr ""
"Saper muovere il mouse, saper leggere i numeri e contare fino a 15 per il "
"primo livello"
+#
+# File: ../boards/target.xml.in.h, line: 2
+# File: ../boards/target.xml.in.h, line: 2
+# File: ../boards/target.xml.in.h, line: 2
#: ../boards/target.xml.in.h:2
msgid ""
"Check the wind speed and direction, and then click on the target to launch a "
@@ -3878,51 +7985,106 @@ msgstr ""
"il punteggio con la tastiera e poi premi il tasto invio o \n"
"l'icona OK."
+#
+# File: ../boards/target.xml.in.h, line: 3
+# File: ../boards/target.xml.in.h, line: 3
+# File: ../boards/target.xml.in.h, line: 3
#: ../boards/target.xml.in.h:3
msgid "Hit the target and count your points"
msgstr "Colpisci il bersaglio e conta i tuoi punti"
+#
+# File: ../boards/target.xml.in.h, line: 4
+# File: ../boards/target.xml.in.h, line: 4
+# File: ../boards/target.xml.in.h, line: 4
#: ../boards/target.xml.in.h:4
msgid "Practice addition with a target game"
msgstr "Esercizi di addizione con il tiro al bersaglio"
+#
+# File: ../boards/target.xml.in.h, line: 5
+# File: ../boards/target.xml.in.h, line: 5
+# File: ../boards/target.xml.in.h, line: 5
#: ../boards/target.xml.in.h:5
msgid "Throw darts at a target and count your score."
msgstr "Lancia le freccette sul bersaglio e conta i tuoi punti."
+#
+# File: ../boards/traffic.xml.in.h, line: 1
+# File: ../boards/traffic.xml.in.h, line: 1
+# File: ../boards/traffic.xml.in.h, line: 1
#: ../boards/traffic.xml.in.h:1
msgid "A sliding-block puzzle game"
msgstr "Un gioco con i pezzi che scorrono"
+#
+# File: ../boards/traffic.xml.in.h, line: 2
+# File: ../boards/traffic.xml.in.h, line: 2
+# File: ../boards/traffic.xml.in.h, line: 2
#: ../boards/traffic.xml.in.h:2
msgid ""
-"Remove all the red cars from the parking lot through the gate on the right"
+"Each car can only move either horizontally or vertically. You must make some "
+"room in order to let the red car move through the gate on the right."
+msgstr ""
+"Ogni auto si può muovere solo orizzontalmente o verticalmente. Devi fare "
+"spazio per permettere all'auto rossa di passare attraverso il passaggio "
+"sulla destra."
+
+#
+# File: ../boards/traffic.xml.in.h, line: 3
+# File: ../boards/traffic.xml.in.h, line: 3
+# File: ../boards/traffic.xml.in.h, line: 3
+#: ../boards/traffic.xml.in.h:3
+msgid "Remove the red car from the parking lot through the gate on the right"
msgstr ""
-"Sposta tutte le auto rosse fuori dal parcheggio attraverso il passaggio a "
-"destra."
+"Sposta l'auto rossa fuori dal parcheggio attraverso il passaggio a destra"
+#
+# File: ../boards/tuxpaint.xml.in.h, line: 1
+# File: ../boards/tuxpaint.xml.in.h, line: 1
+# File: ../boards/tuxpaint.xml.in.h, line: 1
#: ../boards/tuxpaint.xml.in.h:1
msgid "Drawing activity (pixmap)"
msgstr "Attività di disegno (pixmap)"
+#
+# File: ../boards/tuxpaint.xml.in.h, line: 2
+# File: ../boards/tuxpaint.xml.in.h, line: 2
+# File: ../boards/tuxpaint.xml.in.h, line: 2
#: ../boards/tuxpaint.xml.in.h:2
msgid "Launch Tuxpaint"
msgstr "Avvia Tuxpaint"
+#
+# File: ../boards/tuxpaint.xml.in.h, line: 3
+# File: ../boards/tuxpaint.xml.in.h, line: 3
+# File: ../boards/tuxpaint.xml.in.h, line: 3
#: ../boards/tuxpaint.xml.in.h:3
msgid "Tuxpaint"
msgstr "Tuxpaint"
+#
+# File: ../boards/tuxpaint.xml.in.h, line: 4
+# File: ../boards/tuxpaint.xml.in.h, line: 4
+# File: ../boards/tuxpaint.xml.in.h, line: 4
#: ../boards/tuxpaint.xml.in.h:4
msgid "Use Tuxpaint to draw. When Tuxpaint is finished this board will end."
msgstr ""
"Usa Tuxpaint per disegnare. Quando avrai finito con Tuxpaint questa attività "
"terminerà."
+#
+# File: ../boards/tuxpaint.xml.in.h, line: 5
+# File: ../boards/tuxpaint.xml.in.h, line: 5
+# File: ../boards/tuxpaint.xml.in.h, line: 5
#: ../boards/tuxpaint.xml.in.h:5
msgid "mouse and keyboard manipulation"
msgstr "utilizzo del mouse e della tastiera"
+#
+# File: ../boards/watercycle.xml.in.h, line: 1
+# File: ../boards/watercycle.xml.in.h, line: 1
+# File: ../boards/watercycle.xml.in.h, line: 1
#: ../boards/watercycle.xml.in.h:1
msgid ""
"Click on different active elements : sun, cloud, water pump station, and "
@@ -3934,14 +8096,26 @@ msgstr ""
"depuratore in modo da riattivare l'intero ciclo dell'acqua. Quando l'avrai "
"fatto e Tux sarà nella sua doccia, premi il pulsante della doccia per lui."
+#
+# File: ../boards/watercycle.xml.in.h, line: 2
+# File: ../boards/watercycle.xml.in.h, line: 2
+# File: ../boards/watercycle.xml.in.h, line: 2
#: ../boards/watercycle.xml.in.h:2
msgid "Learn about the water cycle"
msgstr "Conoscere il ciclo dell'acqua"
+#
+# File: ../boards/watercycle.xml.in.h, line: 3
+# File: ../boards/watercycle.xml.in.h, line: 3
+# File: ../boards/watercycle.xml.in.h, line: 3
#: ../boards/watercycle.xml.in.h:3
msgid "Learn the water cycle"
msgstr "Conoscere il ciclo dell'acqua"
+#
+# File: ../boards/watercycle.xml.in.h, line: 4
+# File: ../boards/watercycle.xml.in.h, line: 4
+# File: ../boards/watercycle.xml.in.h, line: 4
#: ../boards/watercycle.xml.in.h:4
msgid ""
"Tux has come back from a long fishing party on his boat. Bring the water "
@@ -3950,49 +8124,154 @@ msgstr ""
"Tux è tornato da una lunga battuta di pesca sulla sua barca. Attiva il ciclo "
"dell'acqua per permettergli di fare una doccia."
-#: ../boards/wordsgame.xml.in.h:1 ../src/boards/wordsgame.c:113
+#
+# File: ../boards/wordsgame.xml.in.h, line: 1
+# File: ../src/boards/wordsgame.c, line: 110
+# File: ../boards/wordsgame.xml.in.h, line: 1
+# File: ../src/boards/wordsgame.c, line: 110
+# File: ../boards/wordsgame.xml.in.h, line: 1
+# File: ../src/boards/wordsgame.c, line: 110
+#: ../boards/wordsgame.xml.in.h:1 ../src/boards/wordsgame.c:110
msgid "Falling Words"
msgstr "Parole cascanti"
+#
+# File: ../boards/wordsgame.xml.in.h, line: 3
+# File: ../boards/wordsgame.xml.in.h, line: 3
+# File: ../boards/wordsgame.xml.in.h, line: 3
#: ../boards/wordsgame.xml.in.h:3
msgid "Keyboard training"
msgstr "Esercitazioni con la tastiera"
+#
+# File: ../boards/wordsgame.xml.in.h, line: 4
+# File: ../boards/wordsgame.xml.in.h, line: 4
+# File: ../boards/wordsgame.xml.in.h, line: 4
#: ../boards/wordsgame.xml.in.h:4
msgid "Type the complete word as it falls, before it reachs the ground"
msgstr "Scrivi la parola completa mentre cade, prima che raggiunga terra"
-#: ../boards/wordsgame.xml.in.h:5 ../src/boards/wordsgame.c:114
+#
+# File: ../boards/wordsgame.xml.in.h, line: 5
+# File: ../src/boards/wordsgame.c, line: 111
+# File: ../boards/wordsgame.xml.in.h, line: 5
+# File: ../src/boards/wordsgame.c, line: 111
+# File: ../boards/wordsgame.xml.in.h, line: 5
+# File: ../src/boards/wordsgame.c, line: 111
+#: ../boards/wordsgame.xml.in.h:5 ../src/boards/wordsgame.c:111
msgid "Type the falling words before they reach the ground"
msgstr "Scrivi le parole cascanti prima che tocchino terra"
+#
+# File: ../boards/wordprocessor.xml.in.h, line: 1
+# File: ../boards/wordprocessor.xml.in.h, line: 1
+# File: ../boards/wordprocessor.xml.in.h, line: 1
+#: ../boards/wordprocessor.xml.in.h:1
+msgid "A simple word processor to enter and save any text"
+msgstr ""
+"Un semplice elaboratore di testo per inserire e salvare qualsiasi testo"
+
+#
+# File: ../boards/wordprocessor.xml.in.h, line: 2
+# File: ../boards/wordprocessor.xml.in.h, line: 2
+# File: ../boards/wordprocessor.xml.in.h, line: 2
+#: ../boards/wordprocessor.xml.in.h:2
+msgid "Your word processor"
+msgstr "Il tuo elaboratore di testo"
+
+#
+# File: ../gcompris-edit.desktop.in.h, line: 1
+# File: ../gcompris-edit.desktop.in.h, line: 1
+# File: ../gcompris-edit.desktop.in.h, line: 1
#: ../gcompris-edit.desktop.in.h:1
msgid "Administration for gcompris"
msgstr "amministrazione di gcompris"
+#
+# File: ../gcompris.desktop.in.h, line: 1
+# File: ../gcompris.desktop.in.h, line: 1
+# File: ../gcompris.desktop.in.h, line: 1
#: ../gcompris.desktop.in.h:1
msgid "Educational game for ages 2 to 10"
msgstr "Gioco didattico per bambini dai 2 ai 10 anni"
+#
+# File: ../gcompris.desktop.in.h, line: 2
+# File: ../gcompris.desktop.in.h, line: 2
+# File: ../gcompris.desktop.in.h, line: 2
#: ../gcompris.desktop.in.h:2
-msgid "Educational suite gcompris"
-msgstr "Materiale didattico di gcompris"
+msgid "Educational suite GCompris"
+msgstr "Serie didattica di GCompris"
+#
+# File: ../gcompris.desktop.in.h, line: 3
+# File: ../gcompris.desktop.in.h, line: 3
+# File: ../gcompris.desktop.in.h, line: 3
#: ../gcompris.desktop.in.h:3
-msgid "Multiple activities for kids"
-msgstr "Molteplici attività per bambini"
+msgid "Multi-activity educational game"
+msgstr "Gioco didattico multi-attività"
-#: ../src/boards/awele.c:278 ../src/boards/awele.c:288
+#
+# File: ../src/boards/awele.c, line: 350
+# File: ../src/boards/awele.c, line: 360
+# File: ../src/boards/awele.c, line: 350
+# File: ../src/boards/awele.c, line: 360
+# File: ../src/boards/awele.c, line: 350
+# File: ../src/boards/awele.c, line: 360
+#: ../src/boards/awele.c:350 ../src/boards/awele.c:360
msgid "NORTH"
msgstr "NORD"
-#: ../src/boards/awele.c:300 ../src/boards/awele.c:310
+#
+# File: ../src/boards/awele.c, line: 372
+# File: ../src/boards/awele.c, line: 382
+# File: ../src/boards/awele.c, line: 372
+# File: ../src/boards/awele.c, line: 382
+# File: ../src/boards/awele.c, line: 372
+# File: ../src/boards/awele.c, line: 382
+#: ../src/boards/awele.c:372 ../src/boards/awele.c:382
msgid "SOUTH"
msgstr "SUD"
-#: ../src/boards/chess.c:189
+#
+# File: ../src/boards/awele.c, line: 551
+# File: ../src/boards/awele.c, line: 551
+# File: ../src/boards/awele.c, line: 551
+#: ../src/boards/awele.c:551
+msgid "Choose a house"
+msgstr "Scegli una casa"
+
+#
+# File: ../src/boards/awele.c, line: 679
+# File: ../src/boards/awele.c, line: 679
+# File: ../src/boards/awele.c, line: 679
+#: ../src/boards/awele.c:679
+msgid "Your turn to play ..."
+msgstr "Tocca a te..."
+
+#
+# File: ../src/boards/awele.c, line: 748
+# File: ../src/boards/awele.c, line: 748
+# File: ../src/boards/awele.c, line: 748
+#: ../src/boards/awele.c:748
+msgid "Not allowed! Try again !"
+msgstr "Non è consentito! Prova ancora!"
+
+#
+# File: ../src/boards/chess.c, line: 179
+# File: ../src/boards/chess.c, line: 179
+# File: ../src/boards/chess.c, line: 179
+#: ../src/boards/chess.c:179
+msgid "Error: The external program gnuchess died unexpectedly"
+msgstr "Errore: il programma esterno gnuchess è terminato inaspettatamente"
+
+#
+# File: ../src/boards/chess.c, line: 194
+# File: ../src/boards/chess.c, line: 194
+# File: ../src/boards/chess.c, line: 194
+#: ../src/boards/chess.c:194
msgid ""
-"Error: The external program gnuchess is mandatory\n"
+"Error: The external program gnuchess is required\n"
"to play chess in gcompris.\n"
"Find this program on http://www.rpmfind.net or in your\n"
"GNU/Linux distribution\n"
@@ -4002,187 +8281,401 @@ msgstr ""
"per giocare a scacchi in gcompris.\n"
"Trovi questo programma su http://www.rpmfind.net o nella\n"
"tua distribuzione GNU/Linux\n"
-"E verifica che sia installato: "
+"E verifica che sia installato qui: "
-#: ../src/boards/chess.c:228
+#
+# File: ../src/boards/chess.c, line: 236
+# File: ../src/boards/chess.c, line: 236
+# File: ../src/boards/chess.c, line: 236
+#: ../src/boards/chess.c:236
msgid ""
"Error: The external program gnuchess is mandatory\n"
"to play chess in gcompris.\n"
-"Find this program on http://www.rpmfind.net or in your\n"
-"GNU/Linux distribution\n"
-"And check it is in "
+"First install it, and check it is in "
msgstr ""
"Errore: il programma esterno gnuchess è indispensabile\n"
"per giocare a scacchi in gcompris.\n"
-"Trovi questo programma su http://www.rpmfind.net o nella\n"
-"tua distribuzione GNU/Linux.\n"
-"Poi verifica che sia in "
+"Prima installalo e poi verifica che sia in "
-#: ../src/boards/chess.c:569
+#
+# File: ../src/boards/chess.c, line: 579
+# File: ../src/boards/chess.c, line: 579
+# File: ../src/boards/chess.c, line: 579
+#: ../src/boards/chess.c:579
msgid "White's Turn"
msgstr "Tocca al bianco"
-#: ../src/boards/chess.c:569
+#
+# File: ../src/boards/chess.c, line: 579
+# File: ../src/boards/chess.c, line: 579
+# File: ../src/boards/chess.c, line: 579
+#: ../src/boards/chess.c:579
msgid "Black's Turn"
msgstr "Tocca al nero"
-#: ../src/boards/chess.c:713
+#
+# File: ../src/boards/chess.c, line: 723
+# File: ../src/boards/chess.c, line: 723
+# File: ../src/boards/chess.c, line: 723
+#: ../src/boards/chess.c:723
msgid "White checks"
msgstr "Scacco al bianco"
-#: ../src/boards/chess.c:715
+#
+# File: ../src/boards/chess.c, line: 725
+# File: ../src/boards/chess.c, line: 725
+# File: ../src/boards/chess.c, line: 725
+#: ../src/boards/chess.c:725
msgid "Black checks"
msgstr "Scacco al nero"
-#: ../src/boards/chess.c:1052
+#
+# File: ../src/boards/chess.c, line: 1082
+# File: ../src/boards/chess.c, line: 1082
+# File: ../src/boards/chess.c, line: 1082
+#: ../src/boards/chess.c:1082
msgid "Black mates"
msgstr "Il nero fa scacco matto"
-#: ../src/boards/chess.c:1057
+#
+# File: ../src/boards/chess.c, line: 1087
+# File: ../src/boards/chess.c, line: 1087
+# File: ../src/boards/chess.c, line: 1087
+#: ../src/boards/chess.c:1087
msgid "White mates"
msgstr "Il bianco fa scacco matto"
-#: ../src/boards/chess.c:1062 ../src/gcompris/bonus.c:312
-#: ../src/gcompris/bonus.c:321
+#
+# File: ../src/boards/chess.c, line: 1092
+# File: ../src/gcompris/bonus.c, line: 359
+# File: ../src/gcompris/bonus.c, line: 368
+# File: ../src/boards/chess.c, line: 1092
+# File: ../src/gcompris/bonus.c, line: 359
+# File: ../src/gcompris/bonus.c, line: 368
+# File: ../src/boards/chess.c, line: 1092
+# File: ../src/gcompris/bonus.c, line: 359
+# File: ../src/gcompris/bonus.c, line: 368
+#: ../src/boards/chess.c:1092 ../src/gcompris/bonus.c:359
+#: ../src/gcompris/bonus.c:368
msgid "Drawn game"
msgstr "Pareggio"
+#
+# File: ../src/boards/chess.c, line: 1120
+# File: ../src/boards/chess.c, line: 1120
+# File: ../src/boards/chess.c, line: 1120
+#: ../src/boards/chess.c:1120
+msgid "Error: The external program gnuchess died unexpectingly"
+msgstr "Errore: il programma esterno gnuchess è terminato inaspettatamente"
+
+#
+# File: ../src/boards/click_on_letter.c, line: 259
+# File: ../src/boards/memory.c, line: 832
+# File: ../src/boards/click_on_letter.c, line: 259
+# File: ../src/boards/memory.c, line: 832
+# File: ../src/boards/click_on_letter.c, line: 259
+# File: ../src/boards/memory.c, line: 832
+#: ../src/boards/click_on_letter.c:259 ../src/boards/memory.c:832
+msgid ""
+"Error: this activity cannot be played with the\n"
+"sound effects disabled.\n"
+"Go to the configuration dialog to\n"
+"enable the sound"
+msgstr ""
+"Errore: questa attività non può essere svolta con\n"
+"gli effetti sonori disabilitati.\n"
+"Vai al pannello per la configurazione per\n"
+"abilitare l'audio"
+
+#
+# File: ../src/boards/click_on_letter.c, line: 264
+# File: ../src/boards/gletters.c, line: 231
+# File: ../src/boards/memory.c, line: 853
+# File: ../src/boards/click_on_letter.c, line: 264
+# File: ../src/boards/gletters.c, line: 231
+# File: ../src/boards/memory.c, line: 853
+# File: ../src/boards/click_on_letter.c, line: 264
+# File: ../src/boards/gletters.c, line: 231
+# File: ../src/boards/memory.c, line: 853
#. TRANSLATORS: Put here the alphabet in your language
#. require by all utf8-functions
#. TRANSLATORS: Put here the alphabet lowercase in your language
-#: ../src/boards/click_on_letter.c:258 ../src/boards/click_on_letter.c:275
-#: ../src/boards/gletters.c:228 ../src/boards/memory.c:565
+#: ../src/boards/click_on_letter.c:264 ../src/boards/gletters.c:231
+#: ../src/boards/memory.c:853
msgid "abcdefghijklmnopqrstuvwxyz"
msgstr "abcdefghijklmnopqrstuvwxyz"
-#: ../src/boards/click_on_letter.c:287
+#
+# File: ../src/boards/click_on_letter.c, line: 286
+# File: ../src/boards/click_on_letter.c, line: 286
+# File: ../src/boards/click_on_letter.c, line: 286
+#: ../src/boards/click_on_letter.c:286
#, c-format
msgid ""
"Error: this activity requires that you first install\n"
-"the packages assetml-voices-alphabet-%s or %s"
+"the packages with gcompris voices for the locale '%s' or '%s'"
msgstr ""
"Errore: questa attività richiede che siano prima installati\n"
-"i pacchetti assetml-voices-alphabet-%s o %s"
+"i pacchetti audio di gcompris per la lingua %s o %s"
+#
+# File: ../src/boards/click_on_letter.c, line: 294
+# File: ../src/boards/click_on_letter.c, line: 294
+# File: ../src/boards/click_on_letter.c, line: 294
#: ../src/boards/click_on_letter.c:294
#, c-format
msgid ""
"Error: this activity requires that you first install\n"
-"the packages assetml-voices-alphabet-%s ! Fallback to english, sorry!"
+"the packages with GCompris voices for the locale '%s' ! Fallback to english, "
+"sorry!"
msgstr ""
"Errore: questa attività richiede che siano prima installati\n"
-"i pacchetti assetml-voices-alphabet-%s! Scusa, utilizzo l'inglese!"
-
-#: ../src/boards/click_on_letter.c:302
-msgid ""
-"Error: this activity cannot be played with the\n"
-"sound effects disabled.\n"
-"Go to the configuration dialogue to\n"
-"enable the sound"
-msgstr ""
-"Errore: questa attività non può essere svolta con\n"
-"gli effetti sonori disabilitati.\n"
-"Vai al pannello di controllo\n"
-"e abilita l'audio"
+"i pacchetti audio di gcompris per la lingua \"%s\"! Scusa, utilizzerò "
+"l'inglese!"
+#
+# File: ../src/boards/click_on_letter.c, line: 646
+# File: ../src/boards/gletters.c, line: 898
+# File: ../src/boards/python/login.py, line: 540
+# File: ../src/boards/click_on_letter.c, line: 646
+# File: ../src/boards/gletters.c, line: 898
+# File: ../src/boards/python/login.py, line: 540
+# File: ../src/boards/click_on_letter.c, line: 646
+# File: ../src/boards/gletters.c, line: 898
+# File: ../src/boards/python/login.py, line: 540
#. toggle box
-#: ../src/boards/click_on_letter.c:611 ../src/boards/gletters.c:813
-#: ../src/boards/python/login.py:535
+#: ../src/boards/click_on_letter.c:646 ../src/boards/gletters.c:899
+#: ../src/boards/python/login.py:540
msgid "Uppercase only text"
msgstr "Solo testo maiuscolo"
-#: ../src/boards/clickgame.c:178
-#, c-format
-msgid "Couldn't open dir: %s"
-msgstr "Impossibile aprire la directory %s"
-
-#: ../src/boards/clockgame.c:536 ../src/boards/clockgame.c:546
+#
+# File: ../src/boards/clockgame.c, line: 552
+# File: ../src/boards/clockgame.c, line: 562
+# File: ../src/boards/clockgame.c, line: 552
+# File: ../src/boards/clockgame.c, line: 562
+# File: ../src/boards/clockgame.c, line: 552
+# File: ../src/boards/clockgame.c, line: 562
+#: ../src/boards/clockgame.c:552 ../src/boards/clockgame.c:562
msgid "Set the watch to:"
msgstr "Imposta l'ora:"
-#: ../src/boards/colors.c:57
+#
+# File: ../src/boards/colors.c, line: 54
+# File: ../src/boards/colors.c, line: 54
+# File: ../src/boards/colors.c, line: 54
+#: ../src/boards/colors.c:54
msgid "Click on the blue duck"
msgstr "Fai clic sul papero blu"
-#: ../src/boards/colors.c:58
+#
+# File: ../src/boards/colors.c, line: 55
+# File: ../src/boards/colors.c, line: 55
+# File: ../src/boards/colors.c, line: 55
+#: ../src/boards/colors.c:55
msgid "Click on the brown duck"
msgstr "Fai clic sul papero marrone"
-#: ../src/boards/colors.c:59
+#
+# File: ../src/boards/colors.c, line: 56
+# File: ../src/boards/colors.c, line: 56
+# File: ../src/boards/colors.c, line: 56
+#: ../src/boards/colors.c:56
msgid "Click on the green duck"
msgstr "Fai clic sul papero verde"
-#: ../src/boards/colors.c:60
+#
+# File: ../src/boards/colors.c, line: 57
+# File: ../src/boards/colors.c, line: 57
+# File: ../src/boards/colors.c, line: 57
+#: ../src/boards/colors.c:57
msgid "Click on the grey duck"
msgstr "Fai clic sul papero grigio"
-#: ../src/boards/colors.c:61
+#
+# File: ../src/boards/colors.c, line: 58
+# File: ../src/boards/colors.c, line: 58
+# File: ../src/boards/colors.c, line: 58
+#: ../src/boards/colors.c:58
msgid "Click on the orange duck"
msgstr "Fai clic sul papero arancione"
-#: ../src/boards/colors.c:62
+#
+# File: ../src/boards/colors.c, line: 59
+# File: ../src/boards/colors.c, line: 59
+# File: ../src/boards/colors.c, line: 59
+#: ../src/boards/colors.c:59
msgid "Click on the purple duck"
msgstr "Fai clic sul papero porpora"
-#: ../src/boards/colors.c:63
+#
+# File: ../src/boards/colors.c, line: 60
+# File: ../src/boards/colors.c, line: 60
+# File: ../src/boards/colors.c, line: 60
+#: ../src/boards/colors.c:60
msgid "Click on the red duck"
msgstr "Fai clic sul papero rosso"
-#: ../src/boards/colors.c:64
+#
+# File: ../src/boards/colors.c, line: 61
+# File: ../src/boards/colors.c, line: 61
+# File: ../src/boards/colors.c, line: 61
+#: ../src/boards/colors.c:61
msgid "Click on the yellow duck"
msgstr "Fai clic sul papero giallo"
-#: ../src/boards/colors.c:65
+#
+# File: ../src/boards/colors.c, line: 62
+# File: ../src/boards/colors.c, line: 62
+# File: ../src/boards/colors.c, line: 62
+#: ../src/boards/colors.c:62
msgid "Click on the black duck"
msgstr "Fai clic sul papero nero"
-#: ../src/boards/colors.c:66
+#
+# File: ../src/boards/colors.c, line: 63
+# File: ../src/boards/colors.c, line: 63
+# File: ../src/boards/colors.c, line: 63
+#: ../src/boards/colors.c:63
msgid "Click on the white duck"
msgstr "Fai clic sul papero bianco"
+#
+# File: ../src/boards/gletters.c, line: 227
+# File: ../src/boards/memory.c, line: 849
+# File: ../src/boards/gletters.c, line: 227
+# File: ../src/boards/memory.c, line: 849
+# File: ../src/boards/gletters.c, line: 227
+# File: ../src/boards/memory.c, line: 849
#. TRANSLATORS: Put here the numbers in your language
-#: ../src/boards/gletters.c:224 ../src/boards/memory.c:561
+#: ../src/boards/gletters.c:227 ../src/boards/memory.c:849
msgid "0123456789"
msgstr "0123456789"
+#
+# File: ../src/boards/gletters.c, line: 237
+# File: ../src/boards/memory.c, line: 859
+# File: ../src/boards/gletters.c, line: 237
+# File: ../src/boards/memory.c, line: 859
+# File: ../src/boards/gletters.c, line: 237
+# File: ../src/boards/memory.c, line: 859
#. TRANSLATORS: Put here the alphabet uppercase in your language
-#: ../src/boards/gletters.c:234 ../src/boards/memory.c:571
+#: ../src/boards/gletters.c:237 ../src/boards/memory.c:859
msgid "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
msgstr "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
-#: ../src/boards/hanoi.c:335 ../src/boards/hanoi.c:346
+#
+# File: ../src/boards/hanoi.c, line: 332
+# File: ../src/boards/hanoi.c, line: 343
+# File: ../src/boards/hanoi.c, line: 332
+# File: ../src/boards/hanoi.c, line: 343
+# File: ../src/boards/hanoi.c, line: 332
+# File: ../src/boards/hanoi.c, line: 343
+#: ../src/boards/hanoi.c:332 ../src/boards/hanoi.c:343
msgid ""
"Build the same tower in the empty area as the one you see on the right-hand "
"side."
msgstr ""
"Riproduci nello spazio vuoto una torre uguale a quella che vedi a destra"
-#: ../src/boards/hanoi_real.c:76
+#
+# File: ../src/boards/hanoi_real.c, line: 72
+# File: ../src/boards/hanoi_real.c, line: 72
+# File: ../src/boards/hanoi_real.c, line: 72
+#: ../src/boards/hanoi_real.c:72
msgid "Tower of Hanoi"
msgstr "Torre di Hanoi"
-#: ../src/boards/hanoi_real.c:277 ../src/boards/hanoi_real.c:288
+#
+# File: ../src/boards/hanoi_real.c, line: 273
+# File: ../src/boards/hanoi_real.c, line: 284
+# File: ../src/boards/hanoi_real.c, line: 273
+# File: ../src/boards/hanoi_real.c, line: 284
+# File: ../src/boards/hanoi_real.c, line: 273
+# File: ../src/boards/hanoi_real.c, line: 284
+#: ../src/boards/hanoi_real.c:273 ../src/boards/hanoi_real.c:284
msgid "Move the entire stack to the right peg, one disc at a time"
msgstr "Sposta la pila sul piolo a destra, un disco per volta"
-#: ../src/boards/imageid.c:113 ../src/boards/missingletter.c:105
+#
+# File: ../src/boards/imageid.c, line: 104
+# File: ../src/boards/missingletter.c, line: 102
+# File: ../src/boards/imageid.c, line: 104
+# File: ../src/boards/missingletter.c, line: 102
+# File: ../src/boards/imageid.c, line: 104
+# File: ../src/boards/missingletter.c, line: 102
+#: ../src/boards/imageid.c:104 ../src/boards/missingletter.c:102
msgid "Learn how to read"
msgstr "Impara a leggere"
-#: ../src/boards/leftright.c:276 ../src/boards/leftright.c:286
-#: ../src/boards/python/searace.py:429 ../src/boards/python/searace.py:454
-#: ../src/boards/python/searace.py:544 ../src/boards/python/searace.py:856
-#: ../src/boards/python/searace.py:889 ../src/boards/python/searace.py:986
+#
+# File: ../src/boards/leftright.c, line: 277
+# File: ../src/boards/leftright.c, line: 287
+# File: ../src/boards/python/searace.py, line: 428
+# File: ../src/boards/python/searace.py, line: 453
+# File: ../src/boards/python/searace.py, line: 543
+# File: ../src/boards/python/searace.py, line: 855
+# File: ../src/boards/python/searace.py, line: 888
+# File: ../src/boards/python/searace.py, line: 985
+# File: ../src/boards/leftright.c, line: 277
+# File: ../src/boards/leftright.c, line: 287
+# File: ../src/boards/python/searace.py, line: 428
+# File: ../src/boards/python/searace.py, line: 453
+# File: ../src/boards/python/searace.py, line: 543
+# File: ../src/boards/python/searace.py, line: 855
+# File: ../src/boards/python/searace.py, line: 888
+# File: ../src/boards/python/searace.py, line: 985
+# File: ../src/boards/leftright.c, line: 277
+# File: ../src/boards/leftright.c, line: 287
+# File: ../src/boards/python/searace.py, line: 428
+# File: ../src/boards/python/searace.py, line: 453
+# File: ../src/boards/python/searace.py, line: 543
+# File: ../src/boards/python/searace.py, line: 855
+# File: ../src/boards/python/searace.py, line: 888
+# File: ../src/boards/python/searace.py, line: 985
+#: ../src/boards/leftright.c:277 ../src/boards/leftright.c:287
+#: ../src/boards/python/searace.py:428 ../src/boards/python/searace.py:453
+#: ../src/boards/python/searace.py:543 ../src/boards/python/searace.py:855
+#: ../src/boards/python/searace.py:888 ../src/boards/python/searace.py:985
msgid "left"
msgstr "sinistra"
-#: ../src/boards/leftright.c:296 ../src/boards/leftright.c:306
-#: ../src/boards/python/searace.py:429 ../src/boards/python/searace.py:454
-#: ../src/boards/python/searace.py:553 ../src/boards/python/searace.py:858
-#: ../src/boards/python/searace.py:891 ../src/boards/python/searace.py:980
+#
+# File: ../src/boards/leftright.c, line: 297
+# File: ../src/boards/leftright.c, line: 307
+# File: ../src/boards/python/searace.py, line: 428
+# File: ../src/boards/python/searace.py, line: 453
+# File: ../src/boards/python/searace.py, line: 552
+# File: ../src/boards/python/searace.py, line: 857
+# File: ../src/boards/python/searace.py, line: 890
+# File: ../src/boards/python/searace.py, line: 979
+# File: ../src/boards/leftright.c, line: 297
+# File: ../src/boards/leftright.c, line: 307
+# File: ../src/boards/python/searace.py, line: 428
+# File: ../src/boards/python/searace.py, line: 453
+# File: ../src/boards/python/searace.py, line: 552
+# File: ../src/boards/python/searace.py, line: 857
+# File: ../src/boards/python/searace.py, line: 890
+# File: ../src/boards/python/searace.py, line: 979
+# File: ../src/boards/leftright.c, line: 297
+# File: ../src/boards/leftright.c, line: 307
+# File: ../src/boards/python/searace.py, line: 428
+# File: ../src/boards/python/searace.py, line: 453
+# File: ../src/boards/python/searace.py, line: 552
+# File: ../src/boards/python/searace.py, line: 857
+# File: ../src/boards/python/searace.py, line: 890
+# File: ../src/boards/python/searace.py, line: 979
+#: ../src/boards/leftright.c:297 ../src/boards/leftright.c:307
+#: ../src/boards/python/searace.py:428 ../src/boards/python/searace.py:453
+#: ../src/boards/python/searace.py:552 ../src/boards/python/searace.py:857
+#: ../src/boards/python/searace.py:890 ../src/boards/python/searace.py:979
msgid "right"
msgstr "destra"
+#
+# File: ../src/boards/maze.c, line: 492
+# File: ../src/boards/maze.c, line: 492
+# File: ../src/boards/maze.c, line: 492
#: ../src/boards/maze.c:492
msgid ""
"Look at your position, then switch back to invisible mode to continue your "
@@ -4190,93 +8683,224 @@ msgid ""
msgstr ""
"Controlla la tua posizione e passa alla modalità invisibile per muoverti"
+#
+# File: ../src/boards/maze.c, line: 494
+# File: ../src/boards/maze.c, line: 494
+# File: ../src/boards/maze.c, line: 494
#: ../src/boards/maze.c:494
msgid ""
"Look at your position, then switch back to 3D mode to continue your moves"
msgstr "Controlla la tua posizione e passa alla modalità 3D per muoverti"
-#: ../src/boards/memory.c:250
+#
+# File: ../src/boards/memory.c, line: 286
+# File: ../src/boards/memory.c, line: 286
+# File: ../src/boards/memory.c, line: 286
+#: ../src/boards/memory.c:286
msgid "Memory"
msgstr "Memoria"
-#: ../src/boards/memory.c:251
+#
+# File: ../src/boards/memory.c, line: 287
+# File: ../src/boards/memory.c, line: 287
+# File: ../src/boards/memory.c, line: 287
+#: ../src/boards/memory.c:287
msgid "Find the matching pair"
msgstr "Trova le coppie corrispondenti"
-#: ../src/boards/menu.c:79
-msgid "Main Menu"
-msgstr "Menù principale"
+#
+# File: ../src/boards/memory.c, line: 864
+# File: ../src/boards/memory.c, line: 864
+# File: ../src/boards/memory.c, line: 864
+#. TRANSLATORS: Put here the mathematical operators "+-×÷" for your language.
+#: ../src/boards/memory.c:864
+msgid "+-×÷"
+msgstr "+-×÷"
-#: ../src/boards/menu.c:80
+#
+# File: ../src/boards/menu2.c, line: 131
+# File: ../src/boards/menu2.c, line: 131
+# File: ../src/boards/menu2.c, line: 131
+#: ../src/boards/menu2.c:131
+msgid "Main Menu Second Version"
+msgstr "Seconda versione del menu principale"
+
+#
+# File: ../src/boards/menu2.c, line: 132
+# File: ../src/boards/menu2.c, line: 132
+# File: ../src/boards/menu2.c, line: 132
+#: ../src/boards/menu2.c:132
msgid "Select a Board"
msgstr "Scegli una sezione"
+#
+# File: ../src/boards/money.c, line: 488
+# File: ../src/boards/money.c, line: 488
+# File: ../src/boards/money.c, line: 488
#. Set here the way to display money. Change only the money sign, and it's place, always keep %.2f, it will be replaced by 0,34 if decimal is ',' in your locale
-#: ../src/boards/money.c:489
+#: ../src/boards/money.c:488
#, c-format
msgid "$ %.2f"
msgstr "$ %.2f"
-#: ../src/boards/money.c:502
+#
+# File: ../src/boards/money.c, line: 501
+# File: ../src/boards/money.c, line: 501
+# File: ../src/boards/money.c, line: 501
+#: ../src/boards/money.c:501
#, c-format
msgid "$ %.0f"
msgstr "$ %.0f"
-#: ../src/boards/planegame.c:78
+#: ../src/boards/paratrooper.c:437
+msgid "Control fall speed with up and down arrow keys."
+msgstr ""
+
+#
+# File: ../src/boards/planegame.c, line: 75
+# File: ../src/boards/planegame.c, line: 75
+# File: ../src/boards/planegame.c, line: 75
+#: ../src/boards/planegame.c:75
msgid "Move the plane to catch the clouds in the correct order"
msgstr "Muovi l'aereo per prendere le nuvole nell'ordine giusto"
-#: ../src/boards/python.c:62
+#
+# File: ../src/boards/python.c, line: 62
+# File: ../src/boards/python.c, line: 86
+# File: ../src/boards/python.c, line: 62
+# File: ../src/boards/python.c, line: 86
+# File: ../src/boards/python.c, line: 62
+# File: ../src/boards/python.c, line: 86
+#: ../src/boards/python.c:62 ../src/boards/python.c:86
msgid "Python Board"
msgstr "Tavola Python"
-#: ../src/boards/python.c:63
+#
+# File: ../src/boards/python.c, line: 63
+# File: ../src/boards/python.c, line: 87
+# File: ../src/boards/python.c, line: 63
+# File: ../src/boards/python.c, line: 87
+# File: ../src/boards/python.c, line: 63
+# File: ../src/boards/python.c, line: 87
+#: ../src/boards/python.c:63 ../src/boards/python.c:87
msgid "Special board that embeds python into gcompris."
msgstr "Tavola speciale che utilizza Python in gcompris."
-#: ../src/boards/python/admin/board_list.py:90
+#
+# File: ../src/boards/python/admin/board_list.py, line: 89
+# File: ../src/boards/python/admin/board_list.py, line: 89
+# File: ../src/boards/python/admin/board_list.py, line: 89
+#: ../src/boards/python/admin/board_list.py:89
msgid "Select a profile:"
msgstr "Scegli un profilo:"
-#: ../src/boards/python/admin/board_list.py:146
+#
+# File: ../src/boards/python/admin/board_list.py, line: 145
+# File: ../src/boards/python/admin/board_list.py, line: 145
+# File: ../src/boards/python/admin/board_list.py, line: 145
+#: ../src/boards/python/admin/board_list.py:145
msgid "Filter"
msgstr "Filtro"
-#: ../src/boards/python/admin/board_list.py:151
+#
+# File: ../src/boards/python/admin/board_list.py, line: 150
+# File: ../src/boards/python/admin/board_list.py, line: 150
+# File: ../src/boards/python/admin/board_list.py, line: 150
+#: ../src/boards/python/admin/board_list.py:150
msgid "Select all"
msgstr "Seleziona tutto"
-#: ../src/boards/python/admin/board_list.py:156
+#
+# File: ../src/boards/python/admin/board_list.py, line: 155
+# File: ../src/boards/python/admin/board_list.py, line: 155
+# File: ../src/boards/python/admin/board_list.py, line: 155
+#: ../src/boards/python/admin/board_list.py:155
msgid "Unselect all"
msgstr "Deseleziona tutto"
-#: ../src/boards/python/admin/board_list.py:236
+#
+# File: ../src/boards/python/admin/board_list.py, line: 160
+# File: ../src/boards/python/admin/board_list.py, line: 160
+# File: ../src/boards/python/admin/board_list.py, line: 160
+#: ../src/boards/python/admin/board_list.py:160
+msgid "Locales"
+msgstr "Locale"
+
+#
+# File: ../src/boards/python/admin/board_list.py, line: 165
+# File: ../src/boards/python/admin/board_list.py, line: 165
+# File: ../src/boards/python/admin/board_list.py, line: 165
+#: ../src/boards/python/admin/board_list.py:165
+msgid "Locales sound"
+msgstr "Locale audio"
+
+#
+# File: ../src/boards/python/admin/board_list.py, line: 170
+# File: ../src/boards/python/admin/board_list.py, line: 170
+# File: ../src/boards/python/admin/board_list.py, line: 170
+#: ../src/boards/python/admin/board_list.py:170
+msgid "Wordlist"
+msgstr "Elenco di parole"
+
+#
+# File: ../src/boards/python/admin/board_list.py, line: 177
+# File: ../src/boards/python/admin/group_user_list.py, line: 144
+# File: ../src/boards/python/admin/user_list.py, line: 186
+# File: ../src/boards/python/admin/board_list.py, line: 177
+# File: ../src/boards/python/admin/group_user_list.py, line: 144
+# File: ../src/boards/python/admin/user_list.py, line: 186
+# File: ../src/boards/python/admin/board_list.py, line: 177
+# File: ../src/boards/python/admin/group_user_list.py, line: 144
+# File: ../src/boards/python/admin/user_list.py, line: 186
+#: ../src/boards/python/admin/board_list.py:177
+#: ../src/boards/python/admin/group_user_list.py:144
+#: ../src/boards/python/admin/user_list.py:186
+msgid "Login"
+msgstr "Login"
+
+#
+# File: ../src/boards/python/admin/board_list.py, line: 235
+# File: ../src/boards/python/admin/board_list.py, line: 235
+# File: ../src/boards/python/admin/board_list.py, line: 235
+#: ../src/boards/python/admin/board_list.py:235
msgid "Main menu"
msgstr "Menù principale"
-#: ../src/boards/python/admin/board_list.py:236
-msgid "/"
-msgstr "/"
-
+#
+# File: ../src/boards/python/admin/board_list.py, line: 292
+# File: ../src/boards/python/admin/board_list.py, line: 292
+# File: ../src/boards/python/admin/board_list.py, line: 292
#. columns for Board name
#. column_pref = gtk.TreeViewColumn(_('Conf'))
#. image = gtk.image_new_from_stock(gtk.STOCK_PREFERENCES, gtk.ICON_SIZE_MENU)
#. image.show()
#. column_pref.set_widget(image)
-#: ../src/boards/python/admin/board_list.py:293
+#: ../src/boards/python/admin/board_list.py:292
msgid "Active"
msgstr "Attivo"
-#: ../src/boards/python/admin/board_list.py:294
+#
+# File: ../src/boards/python/admin/board_list.py, line: 293
+# File: ../src/boards/python/admin/board_list.py, line: 293
+# File: ../src/boards/python/admin/board_list.py, line: 293
+#: ../src/boards/python/admin/board_list.py:293
msgid "Board title"
msgstr "titolo della tavola"
-#: ../src/boards/python/admin/board_list.py:410
+#
+# File: ../src/boards/python/admin/board_list.py, line: 409
+# File: ../src/boards/python/admin/board_list.py, line: 409
+# File: ../src/boards/python/admin/board_list.py, line: 409
+#: ../src/boards/python/admin/board_list.py:409
#, python-format
msgid "Filter Boards difficulty for profile %s"
msgstr "Scegli la difficoltà delle tavole per profilo %s"
-#: ../src/boards/python/admin/board_list.py:441
+#
+# File: ../src/boards/python/admin/board_list.py, line: 440
+# File: ../src/boards/python/admin/board_list.py, line: 440
+# File: ../src/boards/python/admin/board_list.py, line: 440
+#: ../src/boards/python/admin/board_list.py:440
#, python-format
msgid ""
"<span size='x-large'> Select the difficulty range \n"
@@ -4285,16 +8909,35 @@ msgstr ""
"<span size='x-large'> Seleziona il grado di difficoltà\n"
"per profilo <b>%s</b></span>"
+#
+# File: ../src/boards/python/admin/board_list.py, line: 631
+# File: ../src/boards/python/admin/board_list.py, line: 649
+# File: ../src/boards/python/admin/wordlist.py, line: 50
+# File: ../src/boards/python/login.py, line: 535
+# File: ../src/boards/python/pythontest.py, line: 409
+# File: ../src/boards/python/tuxpaint.py, line: 208
+# File: ../src/boards/python/admin/board_list.py, line: 631
+# File: ../src/boards/python/admin/board_list.py, line: 649
+# File: ../src/boards/python/admin/wordlist.py, line: 50
+# File: ../src/boards/python/login.py, line: 535
+# File: ../src/boards/python/pythontest.py, line: 409
+# File: ../src/boards/python/tuxpaint.py, line: 208
+# File: ../src/boards/python/admin/board_list.py, line: 631
+# File: ../src/boards/python/admin/board_list.py, line: 649
+# File: ../src/boards/python/admin/wordlist.py, line: 50
+# File: ../src/boards/python/login.py, line: 535
+# File: ../src/boards/python/pythontest.py, line: 409
+# File: ../src/boards/python/tuxpaint.py, line: 208
#. Init configuration window:
#. all the configuration functions will use it
#. all the configuration functions returns values for their key in
#. the dict passed to the apply_callback
#. the returned value is the main GtkVBox of the window,
#. we can add what you want in it.
-#: ../src/boards/python/admin/board_list.py:632
-#: ../src/boards/python/admin/board_list.py:650
-#: ../src/boards/python/admin/wordlist.py:51 ../src/boards/python/login.py:530
-#: ../src/boards/python/pythontest.py:409 ../src/boards/python/tuxpaint.py:179
+#: ../src/boards/python/admin/board_list.py:631
+#: ../src/boards/python/admin/board_list.py:649
+#: ../src/boards/python/admin/wordlist.py:50 ../src/boards/python/login.py:535
+#: ../src/boards/python/pythontest.py:409 ../src/boards/python/tuxpaint.py:206
#, python-format
msgid ""
"<b>%s</b> configuration\n"
@@ -4303,89 +8946,195 @@ msgstr ""
"<b>%s</b> configurazione\n"
" per profilo <b>%s</b>"
-#: ../src/boards/python/admin/board_list.py:662
+#
+# File: ../src/boards/python/admin/board_list.py, line: 661
+# File: ../src/boards/python/pythontest.py, line: 473
+# File: ../src/boards/python/admin/board_list.py, line: 661
+# File: ../src/boards/python/pythontest.py, line: 473
+# File: ../src/boards/python/admin/board_list.py, line: 661
+# File: ../src/boards/python/pythontest.py, line: 473
+#: ../src/boards/python/admin/board_list.py:661
#: ../src/boards/python/pythontest.py:473
msgid "Select sound locale"
msgstr "Seleziona la locale dell'audio"
+#
+# File: ../src/boards/python/admin/class_edit.py, line: 60
+# File: ../src/boards/python/admin/class_edit.py, line: 60
+# File: ../src/boards/python/admin/class_edit.py, line: 60
#: ../src/boards/python/admin/class_edit.py:60
msgid "Editing a Class"
msgstr "Modificare una classe"
+#
+# File: ../src/boards/python/admin/class_edit.py, line: 65
+# File: ../src/boards/python/admin/class_edit.py, line: 65
+# File: ../src/boards/python/admin/class_edit.py, line: 65
#: ../src/boards/python/admin/class_edit.py:65
msgid "Editing class: "
msgstr "Modificare una classe: "
+#
+# File: ../src/boards/python/admin/class_edit.py, line: 68
+# File: ../src/boards/python/admin/class_edit.py, line: 68
+# File: ../src/boards/python/admin/class_edit.py, line: 68
#: ../src/boards/python/admin/class_edit.py:68
msgid "Editing a new class"
msgstr "Definire una nuova classe"
+#
+# File: ../src/boards/python/admin/class_edit.py, line: 90
+# File: ../src/boards/python/admin/class_edit.py, line: 90
+# File: ../src/boards/python/admin/class_edit.py, line: 90
#: ../src/boards/python/admin/class_edit.py:90
msgid "Class:"
msgstr "Classe:"
+#
+# File: ../src/boards/python/admin/class_edit.py, line: 103
+# File: ../src/boards/python/admin/class_edit.py, line: 103
+# File: ../src/boards/python/admin/class_edit.py, line: 103
#. FIXME: How to remove the default selection
#. Label and Entry for the teacher name
#: ../src/boards/python/admin/class_edit.py:103
msgid "Teacher:"
msgstr "Insegnante:"
+#
+# File: ../src/boards/python/admin/class_edit.py, line: 113
+# File: ../src/boards/python/admin/class_edit.py, line: 113
+# File: ../src/boards/python/admin/class_edit.py, line: 113
#: ../src/boards/python/admin/class_edit.py:113
msgid "Assign all the users belonging to this class"
msgstr "Assegna tutti gli utenti appartenenti a questa classe"
+#
+# File: ../src/boards/python/admin/class_edit.py, line: 253
+# File: ../src/boards/python/admin/group_edit.py, line: 265
+# File: ../src/boards/python/admin/group_user_list.py, line: 154
+# File: ../src/boards/python/admin/user_list.py, line: 196
+# File: ../src/boards/python/admin/class_edit.py, line: 253
+# File: ../src/boards/python/admin/group_edit.py, line: 265
+# File: ../src/boards/python/admin/group_user_list.py, line: 154
+# File: ../src/boards/python/admin/user_list.py, line: 196
+# File: ../src/boards/python/admin/class_edit.py, line: 253
+# File: ../src/boards/python/admin/group_edit.py, line: 265
+# File: ../src/boards/python/admin/group_user_list.py, line: 154
+# File: ../src/boards/python/admin/user_list.py, line: 196
#: ../src/boards/python/admin/class_edit.py:253
#: ../src/boards/python/admin/group_edit.py:265
-#: ../src/boards/python/admin/group_user_list.py:155
-#: ../src/boards/python/admin/user_list.py:197
+#: ../src/boards/python/admin/group_user_list.py:154
+#: ../src/boards/python/admin/user_list.py:196
msgid "First Name"
msgstr "Nome"
+#
+# File: ../src/boards/python/admin/class_edit.py, line: 264
+# File: ../src/boards/python/admin/group_edit.py, line: 276
+# File: ../src/boards/python/admin/group_user_list.py, line: 164
+# File: ../src/boards/python/admin/user_list.py, line: 206
+# File: ../src/boards/python/admin/class_edit.py, line: 264
+# File: ../src/boards/python/admin/group_edit.py, line: 276
+# File: ../src/boards/python/admin/group_user_list.py, line: 164
+# File: ../src/boards/python/admin/user_list.py, line: 206
+# File: ../src/boards/python/admin/class_edit.py, line: 264
+# File: ../src/boards/python/admin/group_edit.py, line: 276
+# File: ../src/boards/python/admin/group_user_list.py, line: 164
+# File: ../src/boards/python/admin/user_list.py, line: 206
#: ../src/boards/python/admin/class_edit.py:264
#: ../src/boards/python/admin/group_edit.py:276
-#: ../src/boards/python/admin/group_user_list.py:165
-#: ../src/boards/python/admin/user_list.py:207
+#: ../src/boards/python/admin/group_user_list.py:164
+#: ../src/boards/python/admin/user_list.py:206
msgid "Last Name"
msgstr "Cognome"
+#
+# File: ../src/boards/python/admin/class_edit.py, line: 341
+# File: ../src/boards/python/admin/class_edit.py, line: 341
+# File: ../src/boards/python/admin/class_edit.py, line: 341
#: ../src/boards/python/admin/class_edit.py:341
msgid "You need to provide at least a name for your class"
msgstr "Devi fornire almeno un nome per la tua classe"
+#
+# File: ../src/boards/python/admin/class_edit.py, line: 387
+# File: ../src/boards/python/admin/class_edit.py, line: 387
+# File: ../src/boards/python/admin/class_edit.py, line: 387
#: ../src/boards/python/admin/class_edit.py:387
msgid "There is already a class with this name"
msgstr "Esiste già una classe con questo nome"
-#: ../src/boards/python/admin/class_list.py:170
+#
+# File: ../src/boards/python/admin/class_list.py, line: 169
+# File: ../src/boards/python/admin/profile_edit.py, line: 269
+# File: ../src/boards/python/admin/profile_group_list.py, line: 144
+# File: ../src/boards/python/admin/class_list.py, line: 169
+# File: ../src/boards/python/admin/profile_edit.py, line: 269
+# File: ../src/boards/python/admin/profile_group_list.py, line: 144
+# File: ../src/boards/python/admin/class_list.py, line: 169
+# File: ../src/boards/python/admin/profile_edit.py, line: 269
+# File: ../src/boards/python/admin/profile_group_list.py, line: 144
+#: ../src/boards/python/admin/class_list.py:169
#: ../src/boards/python/admin/profile_edit.py:269
-#: ../src/boards/python/admin/profile_group_list.py:145
+#: ../src/boards/python/admin/profile_group_list.py:144
msgid "Class"
msgstr "Classe"
-#: ../src/boards/python/admin/class_list.py:180
+#
+# File: ../src/boards/python/admin/class_list.py, line: 179
+# File: ../src/boards/python/admin/class_list.py, line: 179
+# File: ../src/boards/python/admin/class_list.py, line: 179
+#: ../src/boards/python/admin/class_list.py:179
msgid "Teacher"
msgstr "Insegnante"
+#
+# File: ../src/boards/python/admin/group_edit.py, line: 60
+# File: ../src/boards/python/admin/group_edit.py, line: 60
+# File: ../src/boards/python/admin/group_edit.py, line: 60
#: ../src/boards/python/admin/group_edit.py:60
msgid "Editing a Group"
msgstr "Definire un gruppo"
+#
+# File: ../src/boards/python/admin/group_edit.py, line: 66
+# File: ../src/boards/python/admin/group_edit.py, line: 66
+# File: ../src/boards/python/admin/group_edit.py, line: 66
#: ../src/boards/python/admin/group_edit.py:66
msgid "Editing group: "
msgstr "Definire un gruppo: "
+#
+# File: ../src/boards/python/admin/group_edit.py, line: 67
+# File: ../src/boards/python/admin/group_edit.py, line: 67
+# File: ../src/boards/python/admin/group_edit.py, line: 67
#: ../src/boards/python/admin/group_edit.py:67
msgid " for class: "
msgstr " per classe:"
+#
+# File: ../src/boards/python/admin/group_edit.py, line: 70
+# File: ../src/boards/python/admin/group_edit.py, line: 70
+# File: ../src/boards/python/admin/group_edit.py, line: 70
#: ../src/boards/python/admin/group_edit.py:70
msgid "Editing a new group"
msgstr "Definire un nuovo gruppo"
+#
+# File: ../src/boards/python/admin/group_edit.py, line: 90
+# File: ../src/boards/python/admin/group_edit.py, line: 90
+# File: ../src/boards/python/admin/group_edit.py, line: 90
#: ../src/boards/python/admin/group_edit.py:90
msgid "Group:"
msgstr "Gruppo:"
+#
+# File: ../src/boards/python/admin/group_edit.py, line: 102
+# File: ../src/boards/python/admin/profile_edit.py, line: 98
+# File: ../src/boards/python/admin/group_edit.py, line: 102
+# File: ../src/boards/python/admin/profile_edit.py, line: 98
+# File: ../src/boards/python/admin/group_edit.py, line: 102
+# File: ../src/boards/python/admin/profile_edit.py, line: 98
#. FIXME: How to remove the selection
#. Label and Entry for the first name
#: ../src/boards/python/admin/group_edit.py:102
@@ -4393,159 +9142,329 @@ msgstr "Gruppo:"
msgid "Description:"
msgstr "Descrizione"
+#
+# File: ../src/boards/python/admin/group_edit.py, line: 113
+# File: ../src/boards/python/admin/group_edit.py, line: 113
+# File: ../src/boards/python/admin/group_edit.py, line: 113
#. Top message gives instructions
#: ../src/boards/python/admin/group_edit.py:113
msgid "Assign all the users belonging to this group"
msgstr "Assegna tutti gli utenti appartenenti a questo gruppo"
+#
+# File: ../src/boards/python/admin/group_edit.py, line: 359
+# File: ../src/boards/python/admin/group_edit.py, line: 359
+# File: ../src/boards/python/admin/group_edit.py, line: 359
#: ../src/boards/python/admin/group_edit.py:359
msgid "You need to provide at least a name for your group"
msgstr "Devi fornire almeno un nome per il tuo gruppo"
+#
+# File: ../src/boards/python/admin/group_edit.py, line: 373
+# File: ../src/boards/python/admin/group_edit.py, line: 373
+# File: ../src/boards/python/admin/group_edit.py, line: 373
#: ../src/boards/python/admin/group_edit.py:373
msgid "There is already a group with this name"
msgstr "Esiste già un gruppo con questo nome"
-#: ../src/boards/python/admin/group_list.py:87
+#
+# File: ../src/boards/python/admin/group_list.py, line: 86
+# File: ../src/boards/python/admin/group_list.py, line: 86
+# File: ../src/boards/python/admin/group_list.py, line: 86
+#: ../src/boards/python/admin/group_list.py:86
msgid "Select a class:"
msgstr "seleziona una classe:"
-#: ../src/boards/python/admin/group_list.py:215
+#
+# File: ../src/boards/python/admin/group_list.py, line: 214
+# File: ../src/boards/python/admin/profile_edit.py, line: 279
+# File: ../src/boards/python/admin/profile_group_list.py, line: 154
+# File: ../src/boards/python/admin/group_list.py, line: 214
+# File: ../src/boards/python/admin/profile_edit.py, line: 279
+# File: ../src/boards/python/admin/profile_group_list.py, line: 154
+# File: ../src/boards/python/admin/group_list.py, line: 214
+# File: ../src/boards/python/admin/profile_edit.py, line: 279
+# File: ../src/boards/python/admin/profile_group_list.py, line: 154
+#: ../src/boards/python/admin/group_list.py:214
#: ../src/boards/python/admin/profile_edit.py:279
-#: ../src/boards/python/admin/profile_group_list.py:155
+#: ../src/boards/python/admin/profile_group_list.py:154
msgid "Group"
msgstr "Gruppo"
-#: ../src/boards/python/admin/group_list.py:226
+#
+# File: ../src/boards/python/admin/group_list.py, line: 225
+# File: ../src/boards/python/admin/profile_edit.py, line: 289
+# File: ../src/boards/python/admin/profile_group_list.py, line: 164
+# File: ../src/boards/python/admin/profile_list.py, line: 198
+# File: ../src/boards/python/admin/group_list.py, line: 225
+# File: ../src/boards/python/admin/profile_edit.py, line: 289
+# File: ../src/boards/python/admin/profile_group_list.py, line: 164
+# File: ../src/boards/python/admin/profile_list.py, line: 198
+# File: ../src/boards/python/admin/group_list.py, line: 225
+# File: ../src/boards/python/admin/profile_edit.py, line: 289
+# File: ../src/boards/python/admin/profile_group_list.py, line: 164
+# File: ../src/boards/python/admin/profile_list.py, line: 198
+#: ../src/boards/python/admin/group_list.py:225
#: ../src/boards/python/admin/profile_edit.py:289
-#: ../src/boards/python/admin/profile_group_list.py:165
-#: ../src/boards/python/admin/profile_list.py:199
+#: ../src/boards/python/admin/profile_group_list.py:164
+#: ../src/boards/python/admin/profile_list.py:198
msgid "Description"
msgstr "Descrizione"
-#: ../src/boards/python/admin/group_list.py:323
+#
+# File: ../src/boards/python/admin/group_list.py, line: 322
+# File: ../src/boards/python/admin/group_list.py, line: 322
+# File: ../src/boards/python/admin/group_list.py, line: 322
+#: ../src/boards/python/admin/group_list.py:322
msgid "You must first select a group in the list"
msgstr "Si deve prima selezionare un gruppo nella lista"
-#: ../src/boards/python/admin/group_user_list.py:145
-#: ../src/boards/python/admin/user_list.py:187
-msgid "Login"
-msgstr "Login"
-
-#: ../src/boards/python/admin/group_user_list.py:175
-#: ../src/boards/python/admin/user_list.py:217
+#
+# File: ../src/boards/python/admin/group_user_list.py, line: 174
+# File: ../src/boards/python/admin/user_list.py, line: 216
+# File: ../src/boards/python/admin/group_user_list.py, line: 174
+# File: ../src/boards/python/admin/user_list.py, line: 216
+# File: ../src/boards/python/admin/group_user_list.py, line: 174
+# File: ../src/boards/python/admin/user_list.py, line: 216
+#: ../src/boards/python/admin/group_user_list.py:174
+#: ../src/boards/python/admin/user_list.py:216
msgid "Birth Date"
msgstr "Data di nascita"
+#
+# File: ../src/boards/python/admin/module_boards.py, line: 42
+# File: ../src/boards/python/admin/module_boards.py, line: 62
+# File: ../src/boards/python/admin/module_boards.py, line: 42
+# File: ../src/boards/python/admin/module_boards.py, line: 62
+# File: ../src/boards/python/admin/module_boards.py, line: 42
+# File: ../src/boards/python/admin/module_boards.py, line: 62
#: ../src/boards/python/admin/module_boards.py:42
#: ../src/boards/python/admin/module_boards.py:62
msgid "Boards"
msgstr "Tavole"
-#: ../src/boards/python/admin/module_groups.py:41
-#: ../src/boards/python/admin/module_groups.py:67
+#
+# File: ../src/boards/python/admin/module_groups.py, line: 40
+# File: ../src/boards/python/admin/module_groups.py, line: 66
+# File: ../src/boards/python/admin/module_groups.py, line: 40
+# File: ../src/boards/python/admin/module_groups.py, line: 66
+# File: ../src/boards/python/admin/module_groups.py, line: 40
+# File: ../src/boards/python/admin/module_groups.py, line: 66
+#: ../src/boards/python/admin/module_groups.py:40
+#: ../src/boards/python/admin/module_groups.py:66
msgid "Groups"
msgstr "Gruppi"
-#: ../src/boards/python/admin/module_profiles.py:41
-#: ../src/boards/python/admin/module_profiles.py:66
+#
+# File: ../src/boards/python/admin/module_profiles.py, line: 40
+# File: ../src/boards/python/admin/module_profiles.py, line: 65
+# File: ../src/boards/python/admin/module_profiles.py, line: 40
+# File: ../src/boards/python/admin/module_profiles.py, line: 65
+# File: ../src/boards/python/admin/module_profiles.py, line: 40
+# File: ../src/boards/python/admin/module_profiles.py, line: 65
+#: ../src/boards/python/admin/module_profiles.py:40
+#: ../src/boards/python/admin/module_profiles.py:65
msgid "Profiles"
msgstr "Profili"
-#: ../src/boards/python/admin/module_users.py:42
-#: ../src/boards/python/admin/module_users.py:68
+#
+# File: ../src/boards/python/admin/module_users.py, line: 41
+# File: ../src/boards/python/admin/module_users.py, line: 67
+# File: ../src/boards/python/admin/module_users.py, line: 41
+# File: ../src/boards/python/admin/module_users.py, line: 67
+# File: ../src/boards/python/admin/module_users.py, line: 41
+# File: ../src/boards/python/admin/module_users.py, line: 67
+#: ../src/boards/python/admin/module_users.py:41
+#: ../src/boards/python/admin/module_users.py:67
msgid "Classes"
msgstr "Classi"
-#: ../src/boards/python/admin/module_users.py:42
-#: ../src/boards/python/admin/module_users.py:68
+#
+# File: ../src/boards/python/admin/module_users.py, line: 41
+# File: ../src/boards/python/admin/module_users.py, line: 67
+# File: ../src/boards/python/admin/module_users.py, line: 41
+# File: ../src/boards/python/admin/module_users.py, line: 67
+# File: ../src/boards/python/admin/module_users.py, line: 41
+# File: ../src/boards/python/admin/module_users.py, line: 67
+#: ../src/boards/python/admin/module_users.py:41
+#: ../src/boards/python/admin/module_users.py:67
msgid "Users"
msgstr "Utenti"
+#
+# File: ../src/boards/python/admin/profile_edit.py, line: 59
+# File: ../src/boards/python/admin/profile_edit.py, line: 59
+# File: ../src/boards/python/admin/profile_edit.py, line: 59
#: ../src/boards/python/admin/profile_edit.py:59
msgid "Editing a Profile"
msgstr "Definire un profilo"
+#
+# File: ../src/boards/python/admin/profile_edit.py, line: 64
+# File: ../src/boards/python/admin/profile_edit.py, line: 64
+# File: ../src/boards/python/admin/profile_edit.py, line: 64
#: ../src/boards/python/admin/profile_edit.py:64
msgid "Editing profile: "
msgstr "Definire un profilo: "
+#
+# File: ../src/boards/python/admin/profile_edit.py, line: 67
+# File: ../src/boards/python/admin/profile_edit.py, line: 67
+# File: ../src/boards/python/admin/profile_edit.py, line: 67
#: ../src/boards/python/admin/profile_edit.py:67
msgid "Editing a new profile"
msgstr "Definire un nuovo profilo"
+#
+# File: ../src/boards/python/admin/profile_edit.py, line: 86
+# File: ../src/boards/python/admin/profile_edit.py, line: 86
+# File: ../src/boards/python/admin/profile_edit.py, line: 86
#: ../src/boards/python/admin/profile_edit.py:86
msgid "Profile:"
msgstr "Profilo:"
+#
+# File: ../src/boards/python/admin/profile_edit.py, line: 109
+# File: ../src/boards/python/admin/profile_edit.py, line: 109
+# File: ../src/boards/python/admin/profile_edit.py, line: 109
#. Top message gives instructions
#: ../src/boards/python/admin/profile_edit.py:109
msgid "Assign all the groups belonging to this profile"
msgstr "Assegna tutti i gruppi appartenenti a questo profilo"
+#
+# File: ../src/boards/python/admin/profile_edit.py, line: 377
+# File: ../src/boards/python/admin/profile_edit.py, line: 377
+# File: ../src/boards/python/admin/profile_edit.py, line: 377
#: ../src/boards/python/admin/profile_edit.py:377
msgid "You need to provide at least a name for your profile"
msgstr "Devi fornire almeno un nome per il tuo profilo"
+#
+# File: ../src/boards/python/admin/profile_edit.py, line: 399
+# File: ../src/boards/python/admin/profile_edit.py, line: 399
+# File: ../src/boards/python/admin/profile_edit.py, line: 399
#: ../src/boards/python/admin/profile_edit.py:399
msgid "There is already a profile with this name"
msgstr "Esiste già un profilo con questo nome"
-#: ../src/boards/python/admin/profile_list.py:122
-#: ../src/gcompris/board_config.c:602 ../src/gcompris/board_config.c:727
+#
+# File: ../src/boards/python/admin/profile_list.py, line: 121
+# File: ../src/boards/wordprocessor.c, line: 53
+# File: ../src/gcompris/board_config.c, line: 668
+# File: ../src/gcompris/board_config.c, line: 832
+# File: ../src/boards/python/admin/profile_list.py, line: 121
+# File: ../src/boards/wordprocessor.c, line: 53
+# File: ../src/gcompris/board_config.c, line: 668
+# File: ../src/gcompris/board_config.c, line: 832
+# File: ../src/boards/python/admin/profile_list.py, line: 121
+# File: ../src/boards/wordprocessor.c, line: 53
+# File: ../src/gcompris/board_config.c, line: 668
+# File: ../src/gcompris/board_config.c, line: 832
+#: ../src/boards/python/admin/profile_list.py:121
+#: ../src/boards/wordprocessor.c:53 ../src/gcompris/board_config.c:668
+#: ../src/gcompris/board_config.c:926
msgid "Default"
msgstr "Predefinito"
-#: ../src/boards/python/admin/profile_list.py:189
+#
+# File: ../src/boards/python/admin/profile_list.py, line: 188
+# File: ../src/boards/python/admin/profile_list.py, line: 188
+# File: ../src/boards/python/admin/profile_list.py, line: 188
+#: ../src/boards/python/admin/profile_list.py:188
msgid "Profile"
msgstr "Profilo"
-#: ../src/boards/python/admin/profile_list.py:316
+#
+# File: ../src/boards/python/admin/profile_list.py, line: 315
+# File: ../src/boards/python/admin/profile_list.py, line: 315
+# File: ../src/boards/python/admin/profile_list.py, line: 315
+#: ../src/boards/python/admin/profile_list.py:315
msgid "[Default]"
msgstr "[Predefinito]"
+#
+# File: ../src/boards/python/admin/user_edit.py, line: 50
+# File: ../src/boards/python/admin/user_edit.py, line: 50
+# File: ../src/boards/python/admin/user_edit.py, line: 50
#: ../src/boards/python/admin/user_edit.py:50
msgid "Editing a User"
msgstr "Modificare un utente"
+#
+# File: ../src/boards/python/admin/user_edit.py, line: 55
+# File: ../src/boards/python/admin/user_edit.py, line: 55
+# File: ../src/boards/python/admin/user_edit.py, line: 55
#: ../src/boards/python/admin/user_edit.py:55
msgid "Editing a User "
msgstr "Modificare un utente "
+#
+# File: ../src/boards/python/admin/user_edit.py, line: 61
+# File: ../src/boards/python/admin/user_edit.py, line: 61
+# File: ../src/boards/python/admin/user_edit.py, line: 61
#: ../src/boards/python/admin/user_edit.py:61
msgid "Editing a new user"
msgstr "Definire un nuovo utente"
+#
+# File: ../src/boards/python/admin/user_edit.py, line: 78
+# File: ../src/boards/python/admin/user_edit.py, line: 78
+# File: ../src/boards/python/admin/user_edit.py, line: 78
#: ../src/boards/python/admin/user_edit.py:78
msgid "Login:"
msgstr "Login:"
+#
+# File: ../src/boards/python/admin/user_edit.py, line: 89
+# File: ../src/boards/python/admin/user_edit.py, line: 89
+# File: ../src/boards/python/admin/user_edit.py, line: 89
#. FIXME: How to remove the selection
#. Label and Entry for the first name
#: ../src/boards/python/admin/user_edit.py:89
msgid "First name:"
msgstr "Nome:"
+#
+# File: ../src/boards/python/admin/user_edit.py, line: 98
+# File: ../src/boards/python/admin/user_edit.py, line: 98
+# File: ../src/boards/python/admin/user_edit.py, line: 98
#. Label and Entry for the last name
#: ../src/boards/python/admin/user_edit.py:98
msgid "Last name:"
msgstr "Cognome:"
+#
+# File: ../src/boards/python/admin/user_edit.py, line: 107
+# File: ../src/boards/python/admin/user_edit.py, line: 107
+# File: ../src/boards/python/admin/user_edit.py, line: 107
#. Label and Entry for the birth date
#: ../src/boards/python/admin/user_edit.py:107
msgid "Birth date:"
msgstr "Data di nascita:"
+#
+# File: ../src/boards/python/admin/user_edit.py, line: 159
+# File: ../src/boards/python/admin/user_edit.py, line: 159
+# File: ../src/boards/python/admin/user_edit.py, line: 159
#: ../src/boards/python/admin/user_edit.py:159
msgid ""
"You need to provide at least a login, first name and last name for your users"
msgstr "Devi fornire almeno login, nome e cognome per i tuoi utenti"
+#
+# File: ../src/boards/python/admin/user_edit.py, line: 176
+# File: ../src/boards/python/admin/user_edit.py, line: 176
+# File: ../src/boards/python/admin/user_edit.py, line: 176
#: ../src/boards/python/admin/user_edit.py:176
msgid "There is already a user with this login"
msgstr "Esiste già un utente con questo login"
-#: ../src/boards/python/admin/user_list.py:292
+#
+# File: ../src/boards/python/admin/user_list.py, line: 291
+# File: ../src/boards/python/admin/user_list.py, line: 291
+# File: ../src/boards/python/admin/user_list.py, line: 291
+#: ../src/boards/python/admin/user_list.py:291
msgid ""
"To import a user list from a file, first select a class.\n"
"FILE FORMAT: Your file must be formatted like this:\n"
@@ -4558,7 +9477,11 @@ msgstr ""
"Il separatore è riconosciuto automaticamente e può essere uno di ',', ';' o "
"':' "
-#: ../src/boards/python/admin/user_list.py:371
+#
+# File: ../src/boards/python/admin/user_list.py, line: 370
+# File: ../src/boards/python/admin/user_list.py, line: 370
+# File: ../src/boards/python/admin/user_list.py, line: 370
+#: ../src/boards/python/admin/user_list.py:370
#, python-format
msgid ""
"One or more logins are not unique !\n"
@@ -4567,34 +9490,37 @@ msgstr ""
"Uno o più login non sono unici!\n"
"Hai bisogno di cambiarli: %s!"
-#: ../src/boards/python/anim.py:59
-msgid "You need the python xml module. Disabling SVG."
-msgstr "Hai bisogno del modulo python xml. SVG è disabilitato."
-
-#. gcompris.utils.dialog(_('Python xml module bot found. SVG is disabled. Install the python xml module to enable SVG Save/restore.'), None)
-#: ../src/boards/python/anim.py:417
-msgid ""
-"Python xml module not found. SVG is disabled. Install the python xml module "
-"to enable SVG Save/restore."
-msgstr ""
-"Il modulo python xml non è stato trovato. SVG è disabilitato. Bisogna "
-"installare il modulo python xml per abilitare SVG Salva/ripristina."
-
-#: ../src/boards/python/anim.py:2206
+#
+# File: ../src/boards/python/anim.py, line: 2208
+# File: ../src/boards/python/anim.py, line: 2208
+# File: ../src/boards/python/anim.py, line: 2208
+#: ../src/boards/python/anim.py:2208
msgid "SVG is disabled. Install python xml module to enable it"
msgstr ""
"SVG è disabilitato. Bisogna installare il modulo python xml per abilitarlo"
-#: ../src/boards/python/anim.py:2362
+#
+# File: ../src/boards/python/anim.py, line: 2364
+# File: ../src/boards/python/anim.py, line: 2364
+# File: ../src/boards/python/anim.py, line: 2364
+#: ../src/boards/python/anim.py:2364
msgid "Warning: the following images cannot be accessed on your system.\n"
msgstr ""
"Attenzione: non è possibile trovare le seguenti immagini sul tuo sistema.\n"
-#: ../src/boards/python/anim.py:2364
+#
+# File: ../src/boards/python/anim.py, line: 2366
+# File: ../src/boards/python/anim.py, line: 2366
+# File: ../src/boards/python/anim.py, line: 2366
+#: ../src/boards/python/anim.py:2366
msgid "The corresponding items have been skipped."
msgstr "Gli oggetti corrispondenti sono stati spostati."
-#: ../src/boards/python/electric.py:92
+#
+# File: ../src/boards/python/electric.py, line: 94
+# File: ../src/boards/python/electric.py, line: 94
+# File: ../src/boards/python/electric.py, line: 94
+#: ../src/boards/python/electric.py:94
msgid ""
"Cannot find the 'gnucap' electric simulator.\n"
"You can download and install it from:\n"
@@ -4612,90 +9538,159 @@ msgstr ""
"Puoi ancora utilizzare questa attività per disegnare schemi senza la "
"simulazione del computer."
-#: ../src/boards/python/gnumch.py:95
+#
+# File: ../src/boards/python/gnumch.py, line: 94
+# File: ../src/boards/python/gnumch.py, line: 94
+# File: ../src/boards/python/gnumch.py, line: 94
+#: ../src/boards/python/gnumch.py:94
#, python-format
msgid ", %d"
msgstr ", %d"
-#: ../src/boards/python/gnumch.py:96
+#
+# File: ../src/boards/python/gnumch.py, line: 95
+# File: ../src/boards/python/gnumch.py, line: 95
+# File: ../src/boards/python/gnumch.py, line: 95
+#: ../src/boards/python/gnumch.py:95
#, python-format
msgid " and %d"
msgstr "e %d"
-#: ../src/boards/python/gnumch.py:116
+#
+# File: ../src/boards/python/gnumch.py, line: 115
+# File: ../src/boards/python/gnumch.py, line: 115
+# File: ../src/boards/python/gnumch.py, line: 115
+#: ../src/boards/python/gnumch.py:115
#, python-format
msgid "%d is divisible by %s."
msgstr "%d è divisibile per %s."
-#: ../src/boards/python/gnumch.py:120
+#
+# File: ../src/boards/python/gnumch.py, line: 119
+# File: ../src/boards/python/gnumch.py, line: 119
+# File: ../src/boards/python/gnumch.py, line: 119
+#: ../src/boards/python/gnumch.py:119
msgid "1 is not a prime number."
msgstr "1 non è un numero primo."
-#: ../src/boards/python/gnumch.py:130
+#
+# File: ../src/boards/python/gnumch.py, line: 129
+# File: ../src/boards/python/gnumch.py, line: 129
+# File: ../src/boards/python/gnumch.py, line: 129
+#: ../src/boards/python/gnumch.py:129
#, python-format
msgid "Primes less than %d"
msgstr "I numeri primi inferiori a %d"
+#
+# File: ../src/boards/python/gnumch.py, line: 151
+# File: ../src/boards/python/gnumch.py, line: 151
+# File: ../src/boards/python/gnumch.py, line: 151
+#. Translators: You can swap %(x)y elements in the string.
#: ../src/boards/python/gnumch.py:151
#, python-format
msgid ""
-"Multiples of %d include %s,\n"
-"but %d is not a multiple of %d."
+"Multiples of %(d1)d include %(s)s,\n"
+"but %(d2)d is not a multiple of %(d3)d."
msgstr ""
-"I multipli di %d includono %s,\n"
-"ma %d non è un multiplo di %d."
+"I multipli di %(d1)d includono %(s)s,\n"
+"ma %(d2)d non è un multiplo di %(d3)d."
-#: ../src/boards/python/gnumch.py:160
+#
+# File: ../src/boards/python/gnumch.py, line: 162
+# File: ../src/boards/python/gnumch.py, line: 162
+# File: ../src/boards/python/gnumch.py, line: 162
+#: ../src/boards/python/gnumch.py:162
#, python-format
msgid "Factors of %d"
msgstr "Fattori di %d"
-#: ../src/boards/python/gnumch.py:193
+#
+# File: ../src/boards/python/gnumch.py, line: 195
+# File: ../src/boards/python/gnumch.py, line: 195
+# File: ../src/boards/python/gnumch.py, line: 195
+#: ../src/boards/python/gnumch.py:195
#, python-format
msgid "%s are the factors of %d."
msgstr "%s sono i fattori di %d."
-#: ../src/boards/python/gnumch.py:205
+#
+# File: ../src/boards/python/gnumch.py, line: 207
+# File: ../src/boards/python/gnumch.py, line: 207
+# File: ../src/boards/python/gnumch.py, line: 207
+#: ../src/boards/python/gnumch.py:207
#, python-format
msgid "Multiples of %d"
msgstr "Multipli di %d"
-#: ../src/boards/python/gnumch.py:239
+#
+# File: ../src/boards/python/gnumch.py, line: 241
+# File: ../src/boards/python/gnumch.py, line: 241
+# File: ../src/boards/python/gnumch.py, line: 241
+#: ../src/boards/python/gnumch.py:241
#, python-format
msgid "%s = %d"
msgstr "%s = %d"
-#: ../src/boards/python/gnumch.py:250
+#
+# File: ../src/boards/python/gnumch.py, line: 252
+# File: ../src/boards/python/gnumch.py, line: 252
+# File: ../src/boards/python/gnumch.py, line: 252
+#: ../src/boards/python/gnumch.py:252
#, python-format
msgid "%d + %d"
msgstr "%d + %d"
-#: ../src/boards/python/gnumch.py:255
+#
+# File: ../src/boards/python/gnumch.py, line: 257
+# File: ../src/boards/python/gnumch.py, line: 257
+# File: ../src/boards/python/gnumch.py, line: 257
+#: ../src/boards/python/gnumch.py:257
#, python-format
msgid "%d − %d"
msgstr "%d - %d"
-#: ../src/boards/python/gnumch.py:260
+#
+# File: ../src/boards/python/gnumch.py, line: 262
+# File: ../src/boards/python/gnumch.py, line: 262
+# File: ../src/boards/python/gnumch.py, line: 262
+#: ../src/boards/python/gnumch.py:262
#, python-format
msgid "%d × %d"
msgstr "%d × %d"
-#: ../src/boards/python/gnumch.py:264
+#
+# File: ../src/boards/python/gnumch.py, line: 266
+# File: ../src/boards/python/gnumch.py, line: 266
+# File: ../src/boards/python/gnumch.py, line: 266
+#: ../src/boards/python/gnumch.py:266
#, python-format
msgid "%d ÷ %d"
msgstr "%d ÷ %d"
-#: ../src/boards/python/gnumch.py:272
+#
+# File: ../src/boards/python/gnumch.py, line: 274
+# File: ../src/boards/python/gnumch.py, line: 274
+# File: ../src/boards/python/gnumch.py, line: 274
+#: ../src/boards/python/gnumch.py:274
#, python-format
msgid "Equal to %d"
msgstr "Uguale a %d"
-#: ../src/boards/python/gnumch.py:293
+#
+# File: ../src/boards/python/gnumch.py, line: 295
+# File: ../src/boards/python/gnumch.py, line: 295
+# File: ../src/boards/python/gnumch.py, line: 295
+#: ../src/boards/python/gnumch.py:295
#, python-format
msgid "Not equal to %d"
msgstr "Non uguale a %d"
-#: ../src/boards/python/gnumch.py:435
+#
+# File: ../src/boards/python/gnumch.py, line: 437
+# File: ../src/boards/python/gnumch.py, line: 437
+# File: ../src/boards/python/gnumch.py, line: 437
+#: ../src/boards/python/gnumch.py:437
msgid ""
"You were eaten by a Troggle.\n"
"Press <Return> to continue."
@@ -4703,11 +9698,19 @@ msgstr ""
"Sei stato mangiato dal Troggle.\n"
"Premi <Invio> per continuare."
-#: ../src/boards/python/gnumch.py:484
+#
+# File: ../src/boards/python/gnumch.py, line: 486
+# File: ../src/boards/python/gnumch.py, line: 486
+# File: ../src/boards/python/gnumch.py, line: 486
+#: ../src/boards/python/gnumch.py:486
msgid "You ate a wrong number.\n"
msgstr "Hai mangiato il numero sbagliato.\n"
-#: ../src/boards/python/gnumch.py:485
+#
+# File: ../src/boards/python/gnumch.py, line: 487
+# File: ../src/boards/python/gnumch.py, line: 487
+# File: ../src/boards/python/gnumch.py, line: 487
+#: ../src/boards/python/gnumch.py:487
msgid ""
"\n"
"Press <Return> to continue."
@@ -4715,7 +9718,11 @@ msgstr ""
"\n"
"Premi <Invio> per continuare."
-#: ../src/boards/python/gnumch.py:778
+#
+# File: ../src/boards/python/gnumch.py, line: 780
+# File: ../src/boards/python/gnumch.py, line: 780
+# File: ../src/boards/python/gnumch.py, line: 780
+#: ../src/boards/python/gnumch.py:780
msgid ""
"T\n"
"R\n"
@@ -4733,56 +9740,173 @@ msgstr ""
"L\n"
"E"
-#: ../src/boards/python/guessnumber.py:222
+#
+# File: ../src/boards/python/guessnumber.py, line: 205
+# File: ../src/boards/python/guessnumber.py, line: 205
+# File: ../src/boards/python/guessnumber.py, line: 205
+#: ../src/boards/python/guessnumber.py:205
#, python-format
msgid "Guess a number between %d and %d"
msgstr "Indovina un numero tra %d e %d"
-#: ../src/boards/python/guessnumber.py:335
-#: ../src/boards/python/guessnumber.py:336
+#
+# File: ../src/boards/python/guessnumber.py, line: 318
+# File: ../src/boards/python/guessnumber.py, line: 319
+# File: ../src/boards/python/guessnumber.py, line: 318
+# File: ../src/boards/python/guessnumber.py, line: 319
+# File: ../src/boards/python/guessnumber.py, line: 318
+# File: ../src/boards/python/guessnumber.py, line: 319
+#: ../src/boards/python/guessnumber.py:318
+#: ../src/boards/python/guessnumber.py:319
#, python-format
msgid "Please enter a number between %d and %d"
msgstr "Inserisci un numero tra %d e %d"
-#: ../src/boards/python/guessnumber.py:341
-#: ../src/boards/python/guessnumber.py:342
+#
+# File: ../src/boards/python/guessnumber.py, line: 324
+# File: ../src/boards/python/guessnumber.py, line: 325
+# File: ../src/boards/python/guessnumber.py, line: 324
+# File: ../src/boards/python/guessnumber.py, line: 325
+# File: ../src/boards/python/guessnumber.py, line: 324
+# File: ../src/boards/python/guessnumber.py, line: 325
+#: ../src/boards/python/guessnumber.py:324
+#: ../src/boards/python/guessnumber.py:325
msgid "Out of range"
msgstr "Fuori dall'intervallo"
-#: ../src/boards/python/guessnumber.py:348
-#: ../src/boards/python/guessnumber.py:349
+#
+# File: ../src/boards/python/guessnumber.py, line: 331
+# File: ../src/boards/python/guessnumber.py, line: 332
+# File: ../src/boards/python/guessnumber.py, line: 331
+# File: ../src/boards/python/guessnumber.py, line: 332
+# File: ../src/boards/python/guessnumber.py, line: 331
+# File: ../src/boards/python/guessnumber.py, line: 332
+#: ../src/boards/python/guessnumber.py:331
+#: ../src/boards/python/guessnumber.py:332
msgid "Too high"
msgstr "Troppo alto"
-#: ../src/boards/python/guessnumber.py:351
-#: ../src/boards/python/guessnumber.py:352
+#
+# File: ../src/boards/python/guessnumber.py, line: 334
+# File: ../src/boards/python/guessnumber.py, line: 335
+# File: ../src/boards/python/guessnumber.py, line: 334
+# File: ../src/boards/python/guessnumber.py, line: 335
+# File: ../src/boards/python/guessnumber.py, line: 334
+# File: ../src/boards/python/guessnumber.py, line: 335
+#: ../src/boards/python/guessnumber.py:334
+#: ../src/boards/python/guessnumber.py:335
msgid "Too low"
msgstr "Troppo basso"
-#: ../src/boards/python/login.py:115
+#
+# File: ../src/boards/python/login.py, line: 114
+# File: ../src/boards/python/login.py, line: 114
+# File: ../src/boards/python/login.py, line: 114
+#: ../src/boards/python/login.py:114
msgid "Profile: "
msgstr "Profilo:"
-#: ../src/boards/python/login.py:263 ../src/boards/python/login.py:272
+#
+# File: ../src/boards/python/login.py, line: 268
+# File: ../src/boards/python/login.py, line: 277
+# File: ../src/boards/python/login.py, line: 268
+# File: ../src/boards/python/login.py, line: 277
+# File: ../src/boards/python/login.py, line: 268
+# File: ../src/boards/python/login.py, line: 277
+#: ../src/boards/python/login.py:268 ../src/boards/python/login.py:277
msgid "Login: "
msgstr "Login:"
+#
+# File: ../src/boards/python/login.py, line: 550
+# File: ../src/boards/python/login.py, line: 550
+# File: ../src/boards/python/login.py, line: 550
#. toggle box
-#: ../src/boards/python/login.py:545
+#: ../src/boards/python/login.py:550
msgid "Enter login to log in"
msgstr "Inserisci il login per entrare"
-#: ../src/boards/python/mosaic.py:210
+#
+# File: ../src/boards/python/mosaic.py, line: 193
+# File: ../src/boards/python/mosaic.py, line: 193
+# File: ../src/boards/python/mosaic.py, line: 193
+#: ../src/boards/python/mosaic.py:193
msgid "Rebuild the same mosaic on the right area"
msgstr "Ricomponi il mosaico nell'area a destra"
-#: ../src/boards/python/pythontest.py:149
+#
+# File: ../src/boards/python/melody.py, line: 115
+# File: ../src/boards/python/melody.py, line: 115
+# File: ../src/boards/python/melody.py, line: 115
+#: ../src/boards/python/melody.py:118
+msgid ""
+"Error: this activity cannot be played with the\n"
+"sound effects disabled.\n"
+"Go to the configuration dialogue to\n"
+"enable the sound"
+msgstr ""
+"Errore: questa attività non può essere svolta con\n"
+"gli effetti sonori disabilitati.\n"
+"Vai al pannello di controllo\n"
+"e abilita l'audio"
+
+#
+# File: ../src/boards/python/oscar_and_friends.py, line: 116
+# File: ../src/boards/python/oscar_and_friends.py, line: 116
+# File: ../src/boards/python/oscar_and_friends.py, line: 116
+#: ../src/boards/python/oscar_and_friends.py:116
+msgid ""
+"Below the surface, Oscar the octopus and his friends sat on a rock,\n"
+"watching the bad weather above them."
+msgstr ""
+"Sotto la superficie, il polpo Oscar e i suoi amici sono seduti su una "
+"roccia,\n"
+"guardando il cattivo tempo sopra di loro."
+
+#
+# File: ../src/boards/python/oscar_and_friends.py, line: 117
+# File: ../src/boards/python/oscar_and_friends.py, line: 117
+# File: ../src/boards/python/oscar_and_friends.py, line: 117
+#: ../src/boards/python/oscar_and_friends.py:117
+msgid ""
+"They were all happy that the storms never reached all the way down to them."
+msgstr "Essi erano tutti felici che la tempesta non li avesse mai raggiunti."
+
+#
+# File: ../src/boards/python/oscar_and_friends.py, line: 118
+# File: ../src/boards/python/oscar_and_friends.py, line: 118
+# File: ../src/boards/python/oscar_and_friends.py, line: 118
+#: ../src/boards/python/oscar_and_friends.py:118
+msgid ""
+"No matter how bad it was up there, the bottom was always calm and quiet."
+msgstr ""
+"Non importava quanto brutto fosse lì sopra, il fondo era sempre calmo e "
+"tranquillo."
+
+#
+# File: ../src/boards/python/oscar_and_friends.py, line: 119
+# File: ../src/boards/python/oscar_and_friends.py, line: 119
+# File: ../src/boards/python/oscar_and_friends.py, line: 119
+#: ../src/boards/python/oscar_and_friends.py:119
+msgid "Oscar's best friends were Charlie the crab and Sandy the sea-star."
+msgstr ""
+"I migliori amici di Oscar erano Charlie il granchio e Sandy la stella marina."
+
+#
+# File: ../src/boards/python/pythontest.py, line: 148
+# File: ../src/boards/python/pythontest.py, line: 148
+# File: ../src/boards/python/pythontest.py, line: 148
+#: ../src/boards/python/pythontest.py:148
msgid ""
"This is the first plugin in gcompris coded in the Python\n"
"Programming language."
msgstr "Questo è il primo plugin scritto nel linguaggio Python."
-#: ../src/boards/python/pythontest.py:158
+#
+# File: ../src/boards/python/pythontest.py, line: 157
+# File: ../src/boards/python/pythontest.py, line: 157
+# File: ../src/boards/python/pythontest.py, line: 157
+#: ../src/boards/python/pythontest.py:157
msgid ""
"It is now possible to develop gcompris activities in C or in Python.\n"
"Thanks to Olivier Samys who makes this possible."
@@ -4790,102 +9914,226 @@ msgstr ""
"Ora è possibile sviluppare le attività di gcompris in C o in Python.\n"
"Grazie ad Olivier Samys che lo rende possibile."
-#: ../src/boards/python/pythontest.py:167
+#
+# File: ../src/boards/python/pythontest.py, line: 166
+# File: ../src/boards/python/pythontest.py, line: 166
+# File: ../src/boards/python/pythontest.py, line: 166
+#: ../src/boards/python/pythontest.py:166
msgid "This activity is not playable, just a test"
msgstr "Questa attività non è ancora disponibile, è solo una prova"
+#
+# File: ../src/boards/python/pythontest.py, line: 414
+# File: ../src/boards/python/pythontest.py, line: 414
+# File: ../src/boards/python/pythontest.py, line: 414
#. toggle box
#: ../src/boards/python/pythontest.py:414
msgid "Disable line drawing in circle"
msgstr "Disabilita il disegno della linea col cerchio"
+#
+# File: ../src/boards/python/pythontest.py, line: 423
+# File: ../src/boards/python/pythontest.py, line: 423
+# File: ../src/boards/python/pythontest.py, line: 423
#. combo box
#: ../src/boards/python/pythontest.py:423
msgid "Color of the line"
msgstr "Il colore della linea"
+#
+# File: ../src/boards/python/pythontest.py, line: 434
+# File: ../src/boards/python/pythontest.py, line: 434
+# File: ../src/boards/python/pythontest.py, line: 434
#. spin button for int
#: ../src/boards/python/pythontest.py:434
msgid "Distance between circles"
msgstr "Distanza tra i cerchi"
+#
+# File: ../src/boards/python/pythontest.py, line: 445
+# File: ../src/boards/python/pythontest.py, line: 445
+# File: ../src/boards/python/pythontest.py, line: 445
#. radio buttons for circle or rectangle
#: ../src/boards/python/pythontest.py:445
msgid "Use circles"
msgstr "Usa i cerchi"
+#
+# File: ../src/boards/python/pythontest.py, line: 446
+# File: ../src/boards/python/pythontest.py, line: 446
+# File: ../src/boards/python/pythontest.py, line: 446
#: ../src/boards/python/pythontest.py:446
msgid "Use rectangles"
msgstr "Usa i rettangoli"
+#
+# File: ../src/boards/python/pythontest.py, line: 449
+# File: ../src/boards/python/pythontest.py, line: 449
+# File: ../src/boards/python/pythontest.py, line: 449
#: ../src/boards/python/pythontest.py:449
msgid "Choice of pattern"
msgstr "Scelta del modello"
-#: ../src/boards/python/redraw.py:348 ../src/boards/python/redraw.py:358
+#
+# File: ../src/boards/python/redraw.py, line: 347
+# File: ../src/boards/python/redraw.py, line: 357
+# File: ../src/boards/python/redraw.py, line: 347
+# File: ../src/boards/python/redraw.py, line: 357
+# File: ../src/boards/python/redraw.py, line: 347
+# File: ../src/boards/python/redraw.py, line: 357
+#: ../src/boards/python/redraw.py:347 ../src/boards/python/redraw.py:357
msgid "Level"
msgstr "Livello"
-#: ../src/boards/python/redraw.py:902 ../src/boards/python/redraw.py:905
+#
+# File: ../src/boards/python/redraw.py, line: 901
+# File: ../src/boards/python/redraw.py, line: 904
+# File: ../src/boards/python/redraw.py, line: 901
+# File: ../src/boards/python/redraw.py, line: 904
+# File: ../src/boards/python/redraw.py, line: 901
+# File: ../src/boards/python/redraw.py, line: 904
+#: ../src/boards/python/redraw.py:901 ../src/boards/python/redraw.py:904
msgid "Coordinate"
msgstr "Coordinare"
-#: ../src/boards/python/searace.py:201 ../src/boards/python/searace.py:206
-#: ../src/boards/python/searace.py:232
+#
+# File: ../src/boards/python/searace.py, line: 200
+# File: ../src/boards/python/searace.py, line: 205
+# File: ../src/boards/python/searace.py, line: 231
+# File: ../src/boards/python/searace.py, line: 200
+# File: ../src/boards/python/searace.py, line: 205
+# File: ../src/boards/python/searace.py, line: 231
+# File: ../src/boards/python/searace.py, line: 200
+# File: ../src/boards/python/searace.py, line: 205
+# File: ../src/boards/python/searace.py, line: 231
+#: ../src/boards/python/searace.py:200 ../src/boards/python/searace.py:205
+#: ../src/boards/python/searace.py:231
msgid "The race is already being run"
msgstr "La gara è già iniziata"
+#
+# File: ../src/boards/python/searace.py, line: 428
+# File: ../src/boards/python/searace.py, line: 453
+# File: ../src/boards/python/searace.py, line: 534
+# File: ../src/boards/python/searace.py, line: 853
+# File: ../src/boards/python/searace.py, line: 882
+# File: ../src/boards/python/searace.py, line: 977
+# File: ../src/boards/python/searace.py, line: 983
+# File: ../src/boards/python/searace.py, line: 991
+# File: ../src/boards/python/searace.py, line: 428
+# File: ../src/boards/python/searace.py, line: 453
+# File: ../src/boards/python/searace.py, line: 534
+# File: ../src/boards/python/searace.py, line: 853
+# File: ../src/boards/python/searace.py, line: 882
+# File: ../src/boards/python/searace.py, line: 977
+# File: ../src/boards/python/searace.py, line: 983
+# File: ../src/boards/python/searace.py, line: 991
+# File: ../src/boards/python/searace.py, line: 428
+# File: ../src/boards/python/searace.py, line: 453
+# File: ../src/boards/python/searace.py, line: 534
+# File: ../src/boards/python/searace.py, line: 853
+# File: ../src/boards/python/searace.py, line: 882
+# File: ../src/boards/python/searace.py, line: 977
+# File: ../src/boards/python/searace.py, line: 983
+# File: ../src/boards/python/searace.py, line: 991
#. Manage default cases (no params given)
#. Final move, add an ofset because we loose space in abs()
-#: ../src/boards/python/searace.py:429 ../src/boards/python/searace.py:454
-#: ../src/boards/python/searace.py:535 ../src/boards/python/searace.py:854
-#: ../src/boards/python/searace.py:883 ../src/boards/python/searace.py:978
-#: ../src/boards/python/searace.py:984 ../src/boards/python/searace.py:992
+#: ../src/boards/python/searace.py:428 ../src/boards/python/searace.py:453
+#: ../src/boards/python/searace.py:534 ../src/boards/python/searace.py:853
+#: ../src/boards/python/searace.py:882 ../src/boards/python/searace.py:977
+#: ../src/boards/python/searace.py:983 ../src/boards/python/searace.py:991
msgid "forward"
msgstr "avanti"
-#: ../src/boards/python/searace.py:526
+#
+# File: ../src/boards/python/searace.py, line: 525
+# File: ../src/boards/python/searace.py, line: 525
+# File: ../src/boards/python/searace.py, line: 525
+#: ../src/boards/python/searace.py:525
msgid "COMMANDS ARE"
msgstr "I COMANDI SONO"
+#
+# File: ../src/boards/python/searace.py, line: 751
+# File: ../src/boards/python/searace.py, line: 751
+# File: ../src/boards/python/searace.py, line: 751
#. The two boat arrived in a close time frame (1s), it's a draw
-#: ../src/boards/python/searace.py:752
+#: ../src/boards/python/searace.py:751
msgid "This is a draw"
msgstr "Questa è una selezione:"
-#: ../src/boards/python/searace.py:759
+#
+# File: ../src/boards/python/searace.py, line: 758
+# File: ../src/boards/python/searace.py, line: 758
+# File: ../src/boards/python/searace.py, line: 758
+#: ../src/boards/python/searace.py:758
msgid "The Red boat has won"
msgstr "Ha vinto la nave rossa"
-#: ../src/boards/python/searace.py:762
+#
+# File: ../src/boards/python/searace.py, line: 761
+# File: ../src/boards/python/searace.py, line: 761
+# File: ../src/boards/python/searace.py, line: 761
+#: ../src/boards/python/searace.py:761
msgid "The Green boat has won"
msgstr "Ha vinto la nave verde"
-#: ../src/boards/python/searace.py:780 ../src/boards/python/searace.py:1022
+#
+# File: ../src/boards/python/searace.py, line: 779
+# File: ../src/boards/python/searace.py, line: 1021
+# File: ../src/boards/python/searace.py, line: 779
+# File: ../src/boards/python/searace.py, line: 1021
+# File: ../src/boards/python/searace.py, line: 779
+# File: ../src/boards/python/searace.py, line: 1021
+#: ../src/boards/python/searace.py:779 ../src/boards/python/searace.py:1021
msgid "Angle:"
msgstr "Angolo:"
-#: ../src/boards/python/searace.py:780
+#
+# File: ../src/boards/python/searace.py, line: 779
+# File: ../src/boards/python/searace.py, line: 779
+# File: ../src/boards/python/searace.py, line: 779
+#: ../src/boards/python/searace.py:779
msgid "Wind:"
msgstr "Vento:"
-#: ../src/boards/python/searace.py:861
+#
+# File: ../src/boards/python/searace.py, line: 860
+# File: ../src/boards/python/searace.py, line: 860
+# File: ../src/boards/python/searace.py, line: 860
+#: ../src/boards/python/searace.py:860
msgid "Syntax error at line"
msgstr "Errore di sintassi alla riga"
-#: ../src/boards/python/searace.py:879
+#
+# File: ../src/boards/python/searace.py, line: 878
+# File: ../src/boards/python/searace.py, line: 878
+# File: ../src/boards/python/searace.py, line: 878
+#: ../src/boards/python/searace.py:878
msgid "The command"
msgstr "Il comando"
-#: ../src/boards/python/searace.py:898
+#
+# File: ../src/boards/python/searace.py, line: 897
+# File: ../src/boards/python/searace.py, line: 897
+# File: ../src/boards/python/searace.py, line: 897
+#: ../src/boards/python/searace.py:897
msgid "Unknown command at line"
msgstr "Comando non trovato alla riga"
-#: ../src/boards/python/searace.py:1022
+#
+# File: ../src/boards/python/searace.py, line: 1021
+# File: ../src/boards/python/searace.py, line: 1021
+# File: ../src/boards/python/searace.py, line: 1021
+#: ../src/boards/python/searace.py:1021
msgid "Distance:"
msgstr "Distanza:"
-#: ../src/boards/python/tuxpaint.py:115
+#
+# File: ../src/boards/python/tuxpaint.py, line: 144
+# File: ../src/boards/python/tuxpaint.py, line: 144
+# File: ../src/boards/python/tuxpaint.py, line: 144
+#: ../src/boards/python/tuxpaint.py:144
msgid ""
"Cannot find Tuxpaint.\n"
"Install it to use this activity !"
@@ -4893,110 +10141,183 @@ msgstr ""
"Non è possibile trovare Tuxpaint.\n"
"Per usare questa tavola bisogna installarlo!"
-#: ../src/boards/python/tuxpaint.py:128
+#
+# File: ../src/boards/python/tuxpaint.py, line: 157
+# File: ../src/boards/python/tuxpaint.py, line: 157
+# File: ../src/boards/python/tuxpaint.py, line: 157
+#: ../src/boards/python/tuxpaint.py:157
msgid "Waiting for Tuxpaint to finish"
msgstr "Attendo che Tuxpaint finisca"
-#: ../src/boards/python/tuxpaint.py:183
+#
+# File: ../src/boards/python/tuxpaint.py, line: 212
+# File: ../src/boards/python/tuxpaint.py, line: 212
+# File: ../src/boards/python/tuxpaint.py, line: 212
+#: ../src/boards/python/tuxpaint.py:210
msgid "Inherit fullscreen setting from GCompris"
msgstr "Utilizza le impostazioni dello schermo da GCompris"
-#: ../src/boards/python/tuxpaint.py:187
+#
+# File: ../src/boards/python/tuxpaint.py, line: 216
+# File: ../src/boards/python/tuxpaint.py, line: 216
+# File: ../src/boards/python/tuxpaint.py, line: 216
+#: ../src/boards/python/tuxpaint.py:214
msgid "Inherit size setting from GCompris (800x600, 640x480)"
msgstr "Utilizza le impostazioni dello schermo da GCompris (800x600, 640x480)"
-#: ../src/boards/python/tuxpaint.py:191
+#
+# File: ../src/boards/python/tuxpaint.py, line: 220
+# File: ../src/boards/python/tuxpaint.py, line: 220
+# File: ../src/boards/python/tuxpaint.py, line: 220
+#: ../src/boards/python/tuxpaint.py:218
msgid "Disable shape rotation"
msgstr "Disabilitare la rotazione delle immagini"
-#: ../src/boards/python/tuxpaint.py:195
+#
+# File: ../src/boards/python/tuxpaint.py, line: 224
+# File: ../src/boards/python/tuxpaint.py, line: 224
+# File: ../src/boards/python/tuxpaint.py, line: 224
+#: ../src/boards/python/tuxpaint.py:222
msgid "Show Uppercase text only"
msgstr "Mostra solo il testo maiuscolo"
-#: ../src/boards/python/tuxpaint.py:199
+#
+# File: ../src/boards/python/tuxpaint.py, line: 228
+# File: ../src/boards/python/tuxpaint.py, line: 228
+# File: ../src/boards/python/tuxpaint.py, line: 228
+#: ../src/boards/python/tuxpaint.py:226
msgid "Disable stamps"
msgstr "Disabilita i timbri"
-#: ../src/boards/railroad.c:95
+#
+# File: ../src/boards/railroad.c, line: 91
+# File: ../src/boards/railroad.c, line: 91
+# File: ../src/boards/railroad.c, line: 91
+#: ../src/boards/railroad.c:91
msgid "Memory game"
msgstr "Gioco di memoria"
-#: ../src/boards/railroad.c:96
+#
+# File: ../src/boards/railroad.c, line: 92
+# File: ../src/boards/railroad.c, line: 92
+# File: ../src/boards/railroad.c, line: 92
+#: ../src/boards/railroad.c:92
msgid "Build a train according to the model"
msgstr "Costruisci un treno simile al modello"
-#: ../src/boards/reading.c:366
+#
+# File: ../src/boards/reading.c, line: 229
+# File: ../src/boards/wordsgame.c, line: 205
+# File: ../src/boards/reading.c, line: 229
+# File: ../src/boards/wordsgame.c, line: 205
+# File: ../src/boards/reading.c, line: 229
+# File: ../src/boards/wordsgame.c, line: 205
+#: ../src/boards/reading.c:229 ../src/boards/wordsgame.c:205
+msgid ""
+"Error: We can't find\n"
+"a list of words to play this game.\n"
+msgstr ""
+"Errore: impossibile trovare\n"
+"una lista di parole per questo gioco.\n"
+
+#
+# File: ../src/boards/reading.c, line: 381
+# File: ../src/boards/reading.c, line: 381
+# File: ../src/boards/reading.c, line: 381
+#: ../src/boards/reading.c:381
msgid "Please, check if the word"
msgstr "Verifica se la parola"
-#: ../src/boards/reading.c:386
+#
+# File: ../src/boards/reading.c, line: 401
+# File: ../src/boards/reading.c, line: 401
+# File: ../src/boards/reading.c, line: 401
+#: ../src/boards/reading.c:401
msgid "is being displayed"
msgstr "è stata mostrata"
-#: ../src/boards/reading.c:557
+#
+# File: ../src/boards/reading.c, line: 575
+# File: ../src/boards/reading.c, line: 575
+# File: ../src/boards/reading.c, line: 575
+#: ../src/boards/reading.c:575
msgid "I am Ready"
msgstr "Sono pronto"
-#: ../src/boards/reading.c:597
+#
+# File: ../src/boards/reading.c, line: 615
+# File: ../src/boards/reading.c, line: 615
+# File: ../src/boards/reading.c, line: 615
+#: ../src/boards/reading.c:615
msgid "Yes, I saw it"
msgstr "Sì, l'ho vista"
-#: ../src/boards/reading.c:627
+#
+# File: ../src/boards/reading.c, line: 645
+# File: ../src/boards/reading.c, line: 645
+# File: ../src/boards/reading.c, line: 645
+#: ../src/boards/reading.c:645
msgid "No, it was not there"
msgstr "No, non c'era"
+#
+# File: ../src/boards/reading.c, line: 683
+# File: ../src/boards/reading.c, line: 683
+# File: ../src/boards/reading.c, line: 683
#. Report what was wrong in the log
-#: ../src/boards/reading.c:665
+#: ../src/boards/reading.c:683
#, c-format
msgid "The word to find was '%s'"
msgstr "La parola da trovare era \"%s\""
-#: ../src/boards/reading.c:668
+#
+# File: ../src/boards/reading.c, line: 686
+# File: ../src/boards/reading.c, line: 686
+# File: ../src/boards/reading.c, line: 686
+#: ../src/boards/reading.c:686
msgid "But it was not displayed"
msgstr "Ma non è stata mostrata"
-#: ../src/boards/reading.c:670
+#
+# File: ../src/boards/reading.c, line: 688
+# File: ../src/boards/reading.c, line: 688
+# File: ../src/boards/reading.c, line: 688
+#: ../src/boards/reading.c:688
msgid "And it was displayed"
msgstr "Ed è stata mostrata"
-#: ../src/boards/reading.c:773 ../src/boards/wordsgame.c:776
-msgid "Cannot open file of words for your locale"
-msgstr "Non è possibile aprire il file di parole per la tua \"locale\""
-
-#. Enter Edit Mode
-#: ../src/boards/shapegame.c:425
-msgid ""
-"You have entered Edit mode\n"
-"Move the puzzle items;\n"
-"type 's' to save, and\n"
-"'d' to display all the shapes"
-msgstr ""
-"Hai attivato la modalità editor\n"
-"Muovi i pezzi del puzzle;\n"
-"premi 's' per salvare e\n"
-"\"d\" per mostrare tutte le forme"
-
-#: ../src/boards/shapegame.c:433
-msgid ""
-"The data from this activity are saved under\n"
-"/tmp/gcompris-board.xml"
-msgstr ""
-"I dati di questa tavola sono salvati in\n"
-"/tmp/gcompris-board.xml"
-
-#: ../src/boards/submarine.c:201
+#
+# File: ../src/boards/submarine.c, line: 198
+# File: ../src/boards/submarine.c, line: 198
+# File: ../src/boards/submarine.c, line: 198
+#: ../src/boards/submarine.c:198
msgid "Submarine"
msgstr "Sottomarino"
-#: ../src/boards/submarine.c:202
+#
+# File: ../src/boards/submarine.c, line: 199
+# File: ../src/boards/submarine.c, line: 199
+# File: ../src/boards/submarine.c, line: 199
+#: ../src/boards/submarine.c:199
msgid "Control the depth of a submarine"
msgstr "Controlla la profondità di un sottomarino"
-#: ../src/boards/target.c:285 ../src/boards/target.c:538
+#
+# File: ../src/boards/target.c, line: 281
+# File: ../src/boards/target.c, line: 546
+# File: ../src/boards/target.c, line: 281
+# File: ../src/boards/target.c, line: 546
+# File: ../src/boards/target.c, line: 281
+# File: ../src/boards/target.c, line: 546
+#: ../src/boards/target.c:281 ../src/boards/target.c:546
#, c-format
msgid "Points = %s"
msgstr "Punti = %s"
+#
+# File: ../src/boards/target.c, line: 403
+# File: ../src/boards/target.c, line: 403
+# File: ../src/boards/target.c, line: 403
#: ../src/boards/target.c:403
#, c-format
msgid ""
@@ -5006,15 +10327,120 @@ msgstr ""
"Velocità del vento = %d\n"
"chilometri/ora"
-#: ../src/boards/target.c:465
+#
+# File: ../src/boards/target.c, line: 470
+# File: ../src/boards/target.c, line: 470
+# File: ../src/boards/target.c, line: 470
+#: ../src/boards/target.c:470
#, c-format
msgid "Distance to target = %d meters"
msgstr "Distanza dal bersaglio = %d metri"
-#: ../src/gcompris/about.c:65
+#
+# File: ../src/boards/wordprocessor.c, line: 64
+# File: ../src/boards/wordprocessor.c, line: 64
+# File: ../src/boards/wordprocessor.c, line: 64
+#: ../src/boards/wordprocessor.c:64
+msgid "Letter"
+msgstr "Lettera"
+
+#
+# File: ../src/boards/wordprocessor.c, line: 75
+# File: ../src/boards/wordprocessor.c, line: 75
+# File: ../src/boards/wordprocessor.c, line: 75
+#: ../src/boards/wordprocessor.c:75
+msgid "Small"
+msgstr "Piccolo"
+
+#
+# File: ../src/boards/wordprocessor.c, line: 86
+# File: ../src/boards/wordprocessor.c, line: 86
+# File: ../src/boards/wordprocessor.c, line: 86
+#: ../src/boards/wordprocessor.c:86
+msgid "Text"
+msgstr "Testo"
+
+#
+# File: ../src/boards/wordprocessor.c, line: 97
+# File: ../src/boards/wordprocessor.c, line: 97
+# File: ../src/boards/wordprocessor.c, line: 97
+#: ../src/boards/wordprocessor.c:97
+msgid "Big"
+msgstr "Grande"
+
+#
+# File: ../src/boards/wordprocessor.c, line: 114
+# File: ../src/boards/wordprocessor.c, line: 114
+# File: ../src/boards/wordprocessor.c, line: 114
+#: ../src/boards/wordprocessor.c:114
+msgid "Black"
+msgstr "Nero"
+
+#
+# File: ../src/boards/wordprocessor.c, line: 115
+# File: ../src/boards/wordprocessor.c, line: 115
+# File: ../src/boards/wordprocessor.c, line: 115
+#: ../src/boards/wordprocessor.c:115
+msgid "Red"
+msgstr "Rosso"
+
+#
+# File: ../src/boards/wordprocessor.c, line: 116
+# File: ../src/boards/wordprocessor.c, line: 116
+# File: ../src/boards/wordprocessor.c, line: 116
+#: ../src/boards/wordprocessor.c:116
+msgid "Blue"
+msgstr "Blu"
+
+#
+# File: ../src/boards/wordprocessor.c, line: 117
+# File: ../src/boards/wordprocessor.c, line: 117
+# File: ../src/boards/wordprocessor.c, line: 117
+#: ../src/boards/wordprocessor.c:117
+msgid "Pink"
+msgstr "Rosa"
+
+#
+# File: ../src/boards/wordprocessor.c, line: 354
+# File: ../src/boards/wordprocessor.c, line: 354
+# File: ../src/boards/wordprocessor.c, line: 354
+#: ../src/boards/wordprocessor.c:354
+msgid "TITLE"
+msgstr "TITOLO"
+
+#
+# File: ../src/boards/wordprocessor.c, line: 355
+# File: ../src/boards/wordprocessor.c, line: 355
+# File: ../src/boards/wordprocessor.c, line: 355
+#: ../src/boards/wordprocessor.c:355
+msgid "TITLE 1"
+msgstr "TITOLO 1"
+
+#
+# File: ../src/boards/wordprocessor.c, line: 356
+# File: ../src/boards/wordprocessor.c, line: 356
+# File: ../src/boards/wordprocessor.c, line: 356
+#: ../src/boards/wordprocessor.c:356
+msgid "TITLE 2"
+msgstr "TITOLO 2"
+
+#
+# File: ../src/boards/wordprocessor.c, line: 357
+# File: ../src/boards/wordprocessor.c, line: 357
+# File: ../src/boards/wordprocessor.c, line: 357
+#: ../src/boards/wordprocessor.c:357
+msgid "TEXT"
+msgstr "TESTO"
+
+#
+# File: ../src/gcompris/about.c, line: 57
+# File: ../src/gcompris/about.c, line: 57
+# File: ../src/gcompris/about.c, line: 57
+#: ../src/gcompris/about.c:57
+#, fuzzy
msgid ""
"Author: Bruno Coudoin\n"
-"Contribution: Pascal Georges, Jose Jorge\n"
+"Contribution: Pascal Georges, Jose Jorge, Yves Combe\n"
"Graphics: Renaud Blanchard, Franck Doucet\n"
"Intro Music: Djilali Sebihi\n"
"Background Music: Rico Da Halvarez\n"
@@ -5025,20 +10451,42 @@ msgstr ""
"Musica introduttiva: Djilali Sebihi\n"
"Musica di sottofondo: Rico Da Halvarez\n"
+#
+# File: ../src/gcompris/about.c, line: 65
+# File: ../src/gcompris/about.c, line: 65
+# File: ../src/gcompris/about.c, line: 65
#. TRANSLATORS: Replace this string with your names, one name per line.
-#: ../src/gcompris/about.c:73
+#: ../src/gcompris/about.c:65
msgid "translator_credits"
msgstr "Immacolata Arenga"
-#: ../src/gcompris/about.c:105 ../src/gcompris/about.c:114
+#
+# File: ../src/gcompris/about.c, line: 96
+# File: ../src/gcompris/about.c, line: 106
+# File: ../src/gcompris/about.c, line: 96
+# File: ../src/gcompris/about.c, line: 106
+# File: ../src/gcompris/about.c, line: 96
+# File: ../src/gcompris/about.c, line: 106
+#: ../src/gcompris/about.c:96 ../src/gcompris/about.c:106
msgid "About GCompris"
msgstr "Informazioni su GCompris"
-#: ../src/gcompris/about.c:124 ../src/gcompris/about.c:133
+#
+# File: ../src/gcompris/about.c, line: 117
+# File: ../src/gcompris/about.c, line: 126
+# File: ../src/gcompris/about.c, line: 117
+# File: ../src/gcompris/about.c, line: 126
+# File: ../src/gcompris/about.c, line: 117
+# File: ../src/gcompris/about.c, line: 126
+#: ../src/gcompris/about.c:117
msgid "Translators:"
msgstr "Traduttori:"
-#: ../src/gcompris/about.c:256
+#
+# File: ../src/gcompris/about.c, line: 249
+# File: ../src/gcompris/about.c, line: 249
+# File: ../src/gcompris/about.c, line: 249
+#: ../src/gcompris/about.c:193
msgid ""
"GCompris Home Page\n"
"http://gcompris.net"
@@ -5046,7 +10494,11 @@ msgstr ""
"Home page di GCompris\n"
"http://gcompris.net"
-#: ../src/gcompris/about.c:278
+#
+# File: ../src/gcompris/about.c, line: 271
+# File: ../src/gcompris/about.c, line: 271
+# File: ../src/gcompris/about.c, line: 271
+#: ../src/gcompris/about.c:215
msgid ""
"This software is a GNU Package and is released under the GNU General Public "
"License"
@@ -5054,20 +10506,85 @@ msgstr ""
"Questo software è un pacchetto GNU ed è rilasciato sotto la Gnu General "
"Licence"
-#: ../src/gcompris/about.c:341 ../src/gcompris/about.c:350
-#: ../src/gcompris/config.c:222 ../src/gcompris/config.c:231
-#: ../src/gcompris/gameutil.c:1113 ../src/gcompris/help.c:362
-#: ../src/gcompris/help.c:371 ../src/gcompris/images_selector.c:263
+#
+# File: ../src/gcompris/about.c, line: 334
+# File: ../src/gcompris/about.c, line: 344
+# File: ../src/gcompris/config.c, line: 466
+# File: ../src/gcompris/config.c, line: 476
+# File: ../src/gcompris/dialog.c, line: 97
+# File: ../src/gcompris/help.c, line: 376
+# File: ../src/gcompris/help.c, line: 386
+# File: ../src/gcompris/images_selector.c, line: 317
+# File: ../src/gcompris/about.c, line: 334
+# File: ../src/gcompris/about.c, line: 344
+# File: ../src/gcompris/config.c, line: 466
+# File: ../src/gcompris/config.c, line: 476
+# File: ../src/gcompris/dialog.c, line: 97
+# File: ../src/gcompris/help.c, line: 376
+# File: ../src/gcompris/help.c, line: 386
+# File: ../src/gcompris/images_selector.c, line: 317
+# File: ../src/gcompris/about.c, line: 334
+# File: ../src/gcompris/about.c, line: 344
+# File: ../src/gcompris/config.c, line: 466
+# File: ../src/gcompris/config.c, line: 476
+# File: ../src/gcompris/dialog.c, line: 97
+# File: ../src/gcompris/help.c, line: 376
+# File: ../src/gcompris/help.c, line: 386
+# File: ../src/gcompris/images_selector.c, line: 317
+#: ../src/gcompris/about.c:278 ../src/gcompris/about.c:288
+#: ../src/gcompris/config.c:466 ../src/gcompris/config.c:476
+#: ../src/gcompris/dialog.c:97 ../src/gcompris/help.c:380
+#: ../src/gcompris/help.c:390 ../src/gcompris/images_selector.c:317
msgid "OK"
msgstr "OK"
-#: ../src/gcompris/board.c:176
+#
+# File: ../src/gcompris/bar.c, line: 568
+# File: ../src/gcompris/bar.c, line: 568
+# File: ../src/gcompris/bar.c, line: 568
+#: ../src/gcompris/bar.c:568
+msgid "GCompris confirmation"
+msgstr "Conferma di GCompris"
+
+#
+# File: ../src/gcompris/bar.c, line: 569
+# File: ../src/gcompris/bar.c, line: 569
+# File: ../src/gcompris/bar.c, line: 569
+#: ../src/gcompris/bar.c:569
+msgid "Are you sure you want to quit?"
+msgstr "Sei sicuro di volere uscire?"
+
+#
+# File: ../src/gcompris/bar.c, line: 570
+# File: ../src/gcompris/bar.c, line: 570
+# File: ../src/gcompris/bar.c, line: 570
+#: ../src/gcompris/bar.c:570
+msgid "Yes, I am sure!"
+msgstr "Sì, sono sicuro!"
+
+#
+# File: ../src/gcompris/bar.c, line: 571
+# File: ../src/gcompris/bar.c, line: 571
+# File: ../src/gcompris/bar.c, line: 571
+#: ../src/gcompris/bar.c:571
+msgid "No, I want to keep going"
+msgstr "No, voglio continuare"
+
+#
+# File: ../src/gcompris/board.c, line: 181
+# File: ../src/gcompris/board.c, line: 181
+# File: ../src/gcompris/board.c, line: 181
+#: ../src/gcompris/board.c:181
msgid "Dynamic module loading is not supported. gcompris cannot load.\n"
msgstr ""
"Il caricamento dinamico dei moduli non è supportato.\n"
"gcompris non può eseguire il caricamento.\n"
-#: ../src/gcompris/board_config.c:632
+#
+# File: ../src/gcompris/board_config.c, line: 700
+# File: ../src/gcompris/board_config.c, line: 700
+# File: ../src/gcompris/board_config.c, line: 700
+#: ../src/gcompris/board_config.c:700
msgid ""
"Select the language\n"
" to use in the board"
@@ -5075,223 +10592,510 @@ msgstr ""
"Seleziona la lingua\n"
"da usare nella tavola"
-#: ../src/gcompris/config.c:63
+#: ../src/gcompris/board_config.c:763
+msgid "Global GCompris mode"
+msgstr ""
+
+#
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 5
+# File: ../boards/advanced_colors/board1.xml.in.h, line: 5
+#: ../src/gcompris/board_config.c:764
+#, fuzzy
+msgid "Normal"
+msgstr "corallo"
+
+#: ../src/gcompris/board_config.c:765
+msgid "2 clicks"
+msgstr ""
+
+#: ../src/gcompris/board_config.c:766
+msgid "both modes"
+msgstr ""
+
+#
+# File: ../src/gcompris/board_config.c, line: 700
+# File: ../src/gcompris/board_config.c, line: 700
+# File: ../src/gcompris/board_config.c, line: 700
+#: ../src/gcompris/board_config.c:794
+#, fuzzy
+msgid ""
+"Select the drag and drop mode\n"
+" to use in the board"
+msgstr ""
+"Seleziona la lingua\n"
+"da usare nella tavola"
+
+#
+# File: ../src/gcompris/config.c, line: 59
+# File: ../src/gcompris/config.c, line: 59
+# File: ../src/gcompris/config.c, line: 59
+#: ../src/gcompris/config.c:59
msgid "Your system default"
msgstr "Impostazione di sistema"
-#: ../src/gcompris/config.c:64
+#
+# File: ../src/gcompris/config.c, line: 60
+# File: ../src/gcompris/config.c, line: 60
+# File: ../src/gcompris/config.c, line: 60
+#: ../src/gcompris/config.c:60
msgid "Amharic"
msgstr "amarico"
-#: ../src/gcompris/config.c:65
+#
+# File: ../src/gcompris/config.c, line: 61
+# File: ../src/gcompris/config.c, line: 61
+# File: ../src/gcompris/config.c, line: 61
+#: ../src/gcompris/config.c:61
msgid "Arabic"
msgstr "arabo"
-#: ../src/gcompris/config.c:66
+#
+# File: ../src/gcompris/config.c, line: 62
+# File: ../src/gcompris/config.c, line: 62
+# File: ../src/gcompris/config.c, line: 62
+#: ../src/gcompris/config.c:62
msgid "Turkish (Azerbaijan)"
msgstr "turco (Azerbaigian)"
-#: ../src/gcompris/config.c:67
+#
+# File: ../src/gcompris/config.c, line: 63
+# File: ../src/gcompris/config.c, line: 63
+# File: ../src/gcompris/config.c, line: 63
+#: ../src/gcompris/config.c:63
msgid "Bulgarian"
msgstr "bulgaro"
-#: ../src/gcompris/config.c:68
+#
+# File: ../src/gcompris/config.c, line: 64
+# File: ../src/gcompris/config.c, line: 64
+# File: ../src/gcompris/config.c, line: 64
+#: ../src/gcompris/config.c:64
msgid "Catalan"
msgstr "catalano"
-#: ../src/gcompris/config.c:70
+#
+# File: ../src/gcompris/config.c, line: 66
+# File: ../src/gcompris/config.c, line: 66
+# File: ../src/gcompris/config.c, line: 66
+#: ../src/gcompris/config.c:66
msgid "Danish"
msgstr "danese"
-#: ../src/gcompris/config.c:71
+#
+# File: ../src/gcompris/config.c, line: 67
+# File: ../src/gcompris/config.c, line: 67
+# File: ../src/gcompris/config.c, line: 67
+#: ../src/gcompris/config.c:67
msgid "German"
msgstr "tedesco"
-#: ../src/gcompris/config.c:72
+#
+# File: ../src/gcompris/config.c, line: 68
+# File: ../src/gcompris/config.c, line: 68
+# File: ../src/gcompris/config.c, line: 68
+#: ../src/gcompris/config.c:68
msgid "Greek"
msgstr "greco"
-#: ../src/gcompris/config.c:73
+#
+# File: ../src/gcompris/config.c, line: 69
+# File: ../src/gcompris/config.c, line: 69
+# File: ../src/gcompris/config.c, line: 69
+#: ../src/gcompris/config.c:69
msgid "English (Canada)"
msgstr "inglese (Canada)"
-#: ../src/gcompris/config.c:74
+#
+# File: ../src/gcompris/config.c, line: 70
+# File: ../src/gcompris/config.c, line: 70
+# File: ../src/gcompris/config.c, line: 70
+#: ../src/gcompris/config.c:70
msgid "English (Great Britain)"
msgstr "inglese (Gran Bretagna)"
-#: ../src/gcompris/config.c:75
+#
+# File: ../src/gcompris/config.c, line: 71
+# File: ../src/gcompris/config.c, line: 71
+# File: ../src/gcompris/config.c, line: 71
+#: ../src/gcompris/config.c:71
msgid "Spanish"
msgstr "spagnolo"
-#: ../src/gcompris/config.c:76
+#
+# File: ../src/gcompris/config.c, line: 72
+# File: ../src/gcompris/config.c, line: 72
+# File: ../src/gcompris/config.c, line: 72
+#: ../src/gcompris/config.c:72
msgid "Basque"
msgstr "basco"
-#: ../src/gcompris/config.c:77
+#
+# File: ../src/gcompris/config.c, line: 73
+# File: ../src/gcompris/config.c, line: 73
+# File: ../src/gcompris/config.c, line: 73
+#: ../src/gcompris/config.c:73
msgid "Finnish"
msgstr "finlandese"
-#: ../src/gcompris/config.c:78
+#
+# File: ../src/gcompris/config.c, line: 74
+# File: ../src/gcompris/config.c, line: 74
+# File: ../src/gcompris/config.c, line: 74
+#: ../src/gcompris/config.c:74
msgid "French"
msgstr "francese"
-#: ../src/gcompris/config.c:79
+#
+# File: ../src/gcompris/config.c, line: 75
+# File: ../src/gcompris/config.c, line: 75
+# File: ../src/gcompris/config.c, line: 75
+#: ../src/gcompris/config.c:75
msgid "Irish (Gaelic)"
msgstr "irlandese (Gaelico)"
-#: ../src/gcompris/config.c:80
+#
+# File: ../src/gcompris/config.c, line: 76
+# File: ../src/gcompris/config.c, line: 76
+# File: ../src/gcompris/config.c, line: 76
+#: ../src/gcompris/config.c:76
msgid "Hebrew"
msgstr "ebraico"
-#: ../src/gcompris/config.c:81
+#
+# File: ../src/gcompris/config.c, line: 77
+# File: ../src/gcompris/config.c, line: 77
+# File: ../src/gcompris/config.c, line: 77
+#: ../src/gcompris/config.c:77
msgid "Hindi"
msgstr "hindi"
-#: ../src/gcompris/config.c:82
+#
+# File: ../src/gcompris/config.c, line: 78
+# File: ../src/gcompris/config.c, line: 78
+# File: ../src/gcompris/config.c, line: 78
+#: ../src/gcompris/config.c:78
+msgid "Japanese"
+msgstr "giapponese"
+
+#
+# File: ../src/gcompris/config.c, line: 79
+# File: ../src/gcompris/config.c, line: 79
+# File: ../src/gcompris/config.c, line: 79
+#: ../src/gcompris/config.c:79
msgid "Gujarati"
msgstr "gujarati"
-#: ../src/gcompris/config.c:83
+#
+# File: ../src/gcompris/config.c, line: 80
+# File: ../src/gcompris/config.c, line: 80
+# File: ../src/gcompris/config.c, line: 80
+#: ../src/gcompris/config.c:80
msgid "Punjabi"
msgstr "punjabi"
-#: ../src/gcompris/config.c:84
+#
+# File: ../src/gcompris/config.c, line: 81
+# File: ../src/gcompris/config.c, line: 81
+# File: ../src/gcompris/config.c, line: 81
+#: ../src/gcompris/config.c:81
msgid "Hungarian"
msgstr "ungherese"
-#: ../src/gcompris/config.c:85
+#
+# File: ../src/gcompris/config.c, line: 82
+# File: ../src/gcompris/config.c, line: 82
+# File: ../src/gcompris/config.c, line: 82
+#: ../src/gcompris/config.c:82
msgid "Croatian"
msgstr "croato"
-#: ../src/gcompris/config.c:86
+#
+# File: ../src/gcompris/config.c, line: 83
+# File: ../src/gcompris/config.c, line: 83
+# File: ../src/gcompris/config.c, line: 83
+#: ../src/gcompris/config.c:83
msgid "Italian"
msgstr "italiano"
-#: ../src/gcompris/config.c:87
+#
+# File: ../src/gcompris/config.c, line: 84
+# File: ../src/gcompris/config.c, line: 84
+# File: ../src/gcompris/config.c, line: 84
+#: ../src/gcompris/config.c:84
msgid "Georgian"
msgstr "georgiano"
-#: ../src/gcompris/config.c:88
+#
+# File: ../src/gcompris/config.c, line: 85
+# File: ../src/gcompris/config.c, line: 85
+# File: ../src/gcompris/config.c, line: 85
+#: ../src/gcompris/config.c:85
msgid "Lithuanian"
msgstr "lituano"
-#: ../src/gcompris/config.c:89
+#
+# File: ../src/gcompris/config.c, line: 86
+# File: ../src/gcompris/config.c, line: 86
+# File: ../src/gcompris/config.c, line: 86
+#: ../src/gcompris/config.c:86
msgid "Macedonian"
msgstr "macedone"
-#: ../src/gcompris/config.c:90
+#
+# File: ../src/gcompris/config.c, line: 87
+# File: ../src/gcompris/config.c, line: 87
+# File: ../src/gcompris/config.c, line: 87
+#: ../src/gcompris/config.c:87
msgid "Malayalam"
msgstr "malayalam"
-#: ../src/gcompris/config.c:91
+#
+# File: ../src/gcompris/config.c, line: 88
+# File: ../src/gcompris/config.c, line: 88
+# File: ../src/gcompris/config.c, line: 88
+#: ../src/gcompris/config.c:88
+msgid "Marathi"
+msgstr "Marathi"
+
+#
+# File: ../src/gcompris/config.c, line: 89
+# File: ../src/gcompris/config.c, line: 89
+# File: ../src/gcompris/config.c, line: 89
+#: ../src/gcompris/config.c:89
msgid "Malay"
msgstr "malese"
-#: ../src/gcompris/config.c:92
+#
+# File: ../src/gcompris/config.c, line: 90
+# File: ../src/gcompris/config.c, line: 90
+# File: ../src/gcompris/config.c, line: 90
+#: ../src/gcompris/config.c:90
msgid "Nepal"
msgstr "nepalese"
-#: ../src/gcompris/config.c:93
+#
+# File: ../src/gcompris/config.c, line: 91
+# File: ../src/gcompris/config.c, line: 91
+# File: ../src/gcompris/config.c, line: 91
+#: ../src/gcompris/config.c:91
msgid "Dutch"
msgstr "olandese"
-#: ../src/gcompris/config.c:94
+#
+# File: ../src/gcompris/config.c, line: 92
+# File: ../src/gcompris/config.c, line: 92
+# File: ../src/gcompris/config.c, line: 92
+#: ../src/gcompris/config.c:92
msgid "Norwegian Bokmal"
msgstr "norvegese bokmal"
-#: ../src/gcompris/config.c:95
+#
+# File: ../src/gcompris/config.c, line: 93
+# File: ../src/gcompris/config.c, line: 93
+# File: ../src/gcompris/config.c, line: 93
+#: ../src/gcompris/config.c:93
msgid "Norwegian Nynorsk"
msgstr "norvegese nynorsk"
-#: ../src/gcompris/config.c:96
+#
+# File: ../src/gcompris/config.c, line: 94
+# File: ../src/gcompris/config.c, line: 94
+# File: ../src/gcompris/config.c, line: 94
+#: ../src/gcompris/config.c:94
msgid "Polish"
msgstr "polacco"
-#: ../src/gcompris/config.c:97
+#
+# File: ../src/gcompris/config.c, line: 95
+# File: ../src/gcompris/config.c, line: 95
+# File: ../src/gcompris/config.c, line: 95
+#: ../src/gcompris/config.c:95
msgid "Portuguese"
msgstr "portoghese"
-#: ../src/gcompris/config.c:98
+#
+# File: ../src/gcompris/config.c, line: 96
+# File: ../src/gcompris/config.c, line: 96
+# File: ../src/gcompris/config.c, line: 96
+#: ../src/gcompris/config.c:96
msgid "Portuguese (Brazil)"
msgstr "portoghese (Brasile)"
-#: ../src/gcompris/config.c:99
+#
+# File: ../src/gcompris/config.c, line: 97
+# File: ../src/gcompris/config.c, line: 97
+# File: ../src/gcompris/config.c, line: 97
+#: ../src/gcompris/config.c:97
msgid "Romanian"
msgstr "rumeno"
-#: ../src/gcompris/config.c:100
+#
+# File: ../src/gcompris/config.c, line: 98
+# File: ../src/gcompris/config.c, line: 98
+# File: ../src/gcompris/config.c, line: 98
+#: ../src/gcompris/config.c:98
msgid "Russian"
msgstr "russo"
-#: ../src/gcompris/config.c:101
+#
+# File: ../src/gcompris/config.c, line: 99
+# File: ../src/gcompris/config.c, line: 99
+# File: ../src/gcompris/config.c, line: 99
+#: ../src/gcompris/config.c:99
msgid "Kinyarwanda"
msgstr "ruandese"
-#: ../src/gcompris/config.c:102
+#
+# File: ../src/gcompris/config.c, line: 100
+# File: ../src/gcompris/config.c, line: 100
+# File: ../src/gcompris/config.c, line: 100
+#: ../src/gcompris/config.c:100
msgid "Slovak"
msgstr "slovacco"
-#: ../src/gcompris/config.c:103
+#
+# File: ../src/gcompris/config.c, line: 101
+# File: ../src/gcompris/config.c, line: 101
+# File: ../src/gcompris/config.c, line: 101
+#: ../src/gcompris/config.c:101
msgid "Slovenian"
msgstr "sloveno"
-#: ../src/gcompris/config.c:104
+#
+# File: ../src/gcompris/config.c, line: 102
+# File: ../src/gcompris/config.c, line: 102
+# File: ../src/gcompris/config.c, line: 102
+#: ../src/gcompris/config.c:102
+msgid "Somali"
+msgstr "Somalo"
+
+#
+# File: ../src/gcompris/config.c, line: 103
+# File: ../src/gcompris/config.c, line: 103
+# File: ../src/gcompris/config.c, line: 103
+#: ../src/gcompris/config.c:103
msgid "Albanian"
msgstr "albanese"
-#: ../src/gcompris/config.c:105
+#
+# File: ../src/gcompris/config.c, line: 104
+# File: ../src/gcompris/config.c, line: 104
+# File: ../src/gcompris/config.c, line: 104
+#: ../src/gcompris/config.c:104
msgid "Serbian (Latin)"
msgstr "serbo (Latin)"
-#: ../src/gcompris/config.c:106
+#
+# File: ../src/gcompris/config.c, line: 105
+# File: ../src/gcompris/config.c, line: 105
+# File: ../src/gcompris/config.c, line: 105
+#: ../src/gcompris/config.c:105
msgid "Serbian"
msgstr "serbo"
-#: ../src/gcompris/config.c:107
+#
+# File: ../src/gcompris/config.c, line: 106
+# File: ../src/gcompris/config.c, line: 106
+# File: ../src/gcompris/config.c, line: 106
+#: ../src/gcompris/config.c:106
msgid "Swedish"
msgstr "svedese"
+#
+# File: ../src/gcompris/config.c, line: 108
+# File: ../src/gcompris/config.c, line: 108
+# File: ../src/gcompris/config.c, line: 108
+#. "ta_IN.UTF-8", N_("Tamil"),
#: ../src/gcompris/config.c:108
+msgid "Thai"
+msgstr "tailandese"
+
+#
+# File: ../src/gcompris/config.c, line: 109
+# File: ../src/gcompris/config.c, line: 109
+# File: ../src/gcompris/config.c, line: 109
+#: ../src/gcompris/config.c:109
msgid "Turkish"
msgstr "turco"
-#: ../src/gcompris/config.c:109
+#
+# File: ../src/gcompris/config.c, line: 110
+# File: ../src/gcompris/config.c, line: 110
+# File: ../src/gcompris/config.c, line: 110
+#: ../src/gcompris/config.c:110
msgid "Vietnamese"
msgstr "vietnamita"
-#: ../src/gcompris/config.c:110
+#
+# File: ../src/gcompris/config.c, line: 111
+# File: ../src/gcompris/config.c, line: 111
+# File: ../src/gcompris/config.c, line: 111
+#: ../src/gcompris/config.c:111
msgid "Walloon"
msgstr "vallone"
-#: ../src/gcompris/config.c:111
+#
+# File: ../src/gcompris/config.c, line: 112
+# File: ../src/gcompris/config.c, line: 112
+# File: ../src/gcompris/config.c, line: 112
+#: ../src/gcompris/config.c:112
msgid "Chinese (Simplified)"
msgstr "cinese (semplificato)"
-#: ../src/gcompris/config.c:112
+#
+# File: ../src/gcompris/config.c, line: 113
+# File: ../src/gcompris/config.c, line: 113
+# File: ../src/gcompris/config.c, line: 113
+#: ../src/gcompris/config.c:113
msgid "Chinese (Traditional)"
msgstr "Cinese (tradizionale)"
-#: ../src/gcompris/config.c:117
+#
+# File: ../src/gcompris/config.c, line: 118
+# File: ../src/gcompris/config.c, line: 118
+# File: ../src/gcompris/config.c, line: 118
+#: ../src/gcompris/config.c:118
msgid "No time limit"
msgstr "Nessun limite di tempo"
-#: ../src/gcompris/config.c:118
+#
+# File: ../src/gcompris/config.c, line: 119
+# File: ../src/gcompris/config.c, line: 119
+# File: ../src/gcompris/config.c, line: 119
+#: ../src/gcompris/config.c:119
msgid "Slow timer"
msgstr "Timer lento"
-#: ../src/gcompris/config.c:119
+#
+# File: ../src/gcompris/config.c, line: 120
+# File: ../src/gcompris/config.c, line: 120
+# File: ../src/gcompris/config.c, line: 120
+#: ../src/gcompris/config.c:120
msgid "Normal timer"
msgstr "Timer normale"
-#: ../src/gcompris/config.c:120
+#
+# File: ../src/gcompris/config.c, line: 121
+# File: ../src/gcompris/config.c, line: 121
+# File: ../src/gcompris/config.c, line: 121
+#: ../src/gcompris/config.c:121
msgid "Fast timer"
msgstr "Timer veloce"
-#: ../src/gcompris/config.c:125
+#
+# File: ../src/gcompris/config.c, line: 126
+# File: ../src/gcompris/config.c, line: 126
+# File: ../src/gcompris/config.c, line: 126
+#: ../src/gcompris/config.c:126
msgid "800x600 (Default for gcompris)"
msgstr "800x600 (predefinito per gcompris)"
-#: ../src/gcompris/config.c:130
+#
+# File: ../src/gcompris/config.c, line: 131
+# File: ../src/gcompris/config.c, line: 131
+# File: ../src/gcompris/config.c, line: 131
+#: ../src/gcompris/config.c:131
msgid ""
"<i>Use Gcompris administration module\n"
"to filter boards</i>"
@@ -5299,54 +11103,127 @@ msgstr ""
"<i>Usa il modulo amministrazione di GCompris\n"
"per selezionare le tavole</i>"
-#: ../src/gcompris/config.c:187 ../src/gcompris/config.c:196
+#
+# File: ../src/gcompris/config.c, line: 186
+# File: ../src/gcompris/config.c, line: 196
+# File: ../src/gcompris/config.c, line: 186
+# File: ../src/gcompris/config.c, line: 196
+# File: ../src/gcompris/config.c, line: 186
+# File: ../src/gcompris/config.c, line: 196
+#: ../src/gcompris/config.c:186 ../src/gcompris/config.c:196
msgid "GCompris Configuration"
msgstr "Configurazione di GCompris"
-#: ../src/gcompris/config.c:314
+#
+# File: ../src/gcompris/config.c, line: 272
+# File: ../src/gcompris/config.c, line: 272
+# File: ../src/gcompris/config.c, line: 272
+#: ../src/gcompris/config.c:272
msgid "Fullscreen"
msgstr "Schermo intero"
-#: ../src/gcompris/config.c:357
+#
+# File: ../src/gcompris/config.c, line: 315
+# File: ../src/gcompris/config.c, line: 315
+# File: ../src/gcompris/config.c, line: 315
+#: ../src/gcompris/config.c:315
msgid "Music"
msgstr "Musica"
-#: ../src/gcompris/config.c:385
+#
+# File: ../src/gcompris/config.c, line: 343
+# File: ../src/gcompris/config.c, line: 343
+# File: ../src/gcompris/config.c, line: 343
+#: ../src/gcompris/config.c:343
msgid "Effect"
msgstr "Effetto"
-#: ../src/gcompris/config.c:418
+#
+# File: ../src/gcompris/config.c, line: 379
+# File: ../src/gcompris/config.c, line: 379
+# File: ../src/gcompris/config.c, line: 379
+#: ../src/gcompris/config.c:379
#, c-format
msgid "Couldn't open skin dir: %s"
msgstr "Impossibile aprire la directory %s con le skin"
-#: ../src/gcompris/config.c:454 ../src/gcompris/config.c:818
-#: ../src/gcompris/config.c:829
+#
+# File: ../src/gcompris/config.c, line: 410
+# File: ../src/gcompris/config.c, line: 865
+# File: ../src/gcompris/config.c, line: 879
+# File: ../src/gcompris/config.c, line: 410
+# File: ../src/gcompris/config.c, line: 865
+# File: ../src/gcompris/config.c, line: 879
+# File: ../src/gcompris/config.c, line: 410
+# File: ../src/gcompris/config.c, line: 865
+# File: ../src/gcompris/config.c, line: 879
+#: ../src/gcompris/config.c:410 ../src/gcompris/config.c:861
+#: ../src/gcompris/config.c:875
#, c-format
msgid "Skin : %s"
msgstr "Skin : %s"
-#: ../src/gcompris/file_selector.c:341
+#
+# File: ../src/gcompris/config.c, line: 412
+# File: ../src/gcompris/config.c, line: 412
+# File: ../src/gcompris/config.c, line: 412
+#: ../src/gcompris/config.c:412
+msgid "SKINS NOT FOUND"
+msgstr "SKIN NON TROVATE"
+
+#
+# File: ../src/gcompris/config.c, line: 537
+# File: ../src/gcompris/config.c, line: 537
+# File: ../src/gcompris/config.c, line: 537
+#: ../src/gcompris/config.c:537
+msgid "English (United State)"
+msgstr "inglese (Stati Uniti)"
+
+#
+# File: ../src/gcompris/file_selector.c, line: 334
+# File: ../src/gcompris/file_selector.c, line: 334
+# File: ../src/gcompris/file_selector.c, line: 334
+#: ../src/gcompris/file_selector.c:334
msgid "CANCEL"
msgstr "ANNULLA"
-#: ../src/gcompris/file_selector.c:372
+#
+# File: ../src/gcompris/file_selector.c, line: 365
+# File: ../src/gcompris/file_selector.c, line: 365
+# File: ../src/gcompris/file_selector.c, line: 365
+#: ../src/gcompris/file_selector.c:365
msgid "LOAD"
msgstr "APRI"
-#: ../src/gcompris/file_selector.c:372
+#
+# File: ../src/gcompris/file_selector.c, line: 365
+# File: ../src/gcompris/file_selector.c, line: 365
+# File: ../src/gcompris/file_selector.c, line: 365
+#: ../src/gcompris/file_selector.c:365
msgid "SAVE"
msgstr "SALVA"
-#: ../src/gcompris/gameutil.c:190
-msgid "Couldn't find file"
-msgstr "Impossibile trovare il file"
+#
+# File: ../src/gcompris/gameutil.c, line: 79
+# File: ../src/gcompris/gameutil.c, line: 79
+# File: ../src/gcompris/gameutil.c, line: 79
+#: ../src/gcompris/gameutil.c:80
+msgid "Couldn't find or load the file"
+msgstr "Impossibile trovare o caricare il file"
-#: ../src/gcompris/gameutil.c:192
+#
+# File: ../src/gcompris/gameutil.c, line: 81
+# File: ../src/gcompris/gameutil.c, line: 81
+# File: ../src/gcompris/gameutil.c, line: 81
+#: ../src/gcompris/gameutil.c:82
msgid "This activity is incomplete."
msgstr "Questa attività è incompleta."
-#: ../src/gcompris/gameutil.c:193
+#
+# File: ../src/gcompris/gameutil.c, line: 82
+# File: ../src/gcompris/gameutil.c, line: 82
+# File: ../src/gcompris/gameutil.c, line: 82
+#: ../src/gcompris/gameutil.c:83
msgid ""
"Exit it and report\n"
"the problem to the authors."
@@ -5354,91 +11231,170 @@ msgstr ""
"Esci e segnala\n"
"il problema agli autori."
-#: ../src/gcompris/gcompris.c:123
+#
+# File: ../src/gcompris/gcompris.c, line: 123
+# File: ../src/gcompris/gcompris.c, line: 123
+# File: ../src/gcompris/gcompris.c, line: 123
+#: ../src/gcompris/gcompris.c:122
msgid "run gcompris in fullscreen mode."
msgstr "esegui gcompris a schermo intero."
+#
+# File: ../src/gcompris/gcompris.c, line: 126
+# File: ../src/gcompris/gcompris.c, line: 126
+# File: ../src/gcompris/gcompris.c, line: 126
#: ../src/gcompris/gcompris.c:125
msgid "run gcompris in window mode."
msgstr "esegui gcompris all'interno di una finestra."
-#: ../src/gcompris/gcompris.c:127
+#
+# File: ../src/gcompris/gcompris.c, line: 129
+# File: ../src/gcompris/gcompris.c, line: 129
+# File: ../src/gcompris/gcompris.c, line: 129
+#: ../src/gcompris/gcompris.c:128
msgid "run gcompris with sound enabled."
msgstr "esegui gcompris con il sonoro abilitato."
-#: ../src/gcompris/gcompris.c:129
+#
+# File: ../src/gcompris/gcompris.c, line: 132
+# File: ../src/gcompris/gcompris.c, line: 132
+# File: ../src/gcompris/gcompris.c, line: 132
+#: ../src/gcompris/gcompris.c:131
msgid "run gcompris without sound."
msgstr "esegui gcompris senza sonoro."
-#: ../src/gcompris/gcompris.c:131
+#
+# File: ../src/gcompris/gcompris.c, line: 135
+# File: ../src/gcompris/gcompris.c, line: 135
+# File: ../src/gcompris/gcompris.c, line: 135
+#: ../src/gcompris/gcompris.c:134
msgid "run gcompris with the default gnome cursor."
msgstr "esegui gcompris con il cursore di gnome."
-#: ../src/gcompris/gcompris.c:133
+#
+# File: ../src/gcompris/gcompris.c, line: 138
+# File: ../src/gcompris/gcompris.c, line: 138
+# File: ../src/gcompris/gcompris.c, line: 138
+#: ../src/gcompris/gcompris.c:137
msgid "display only activities with this difficulty level."
msgstr "mostra solo attività con questo livello di difficoltà."
-#: ../src/gcompris/gcompris.c:135
+#
+# File: ../src/gcompris/gcompris.c, line: 141
+# File: ../src/gcompris/gcompris.c, line: 141
+# File: ../src/gcompris/gcompris.c, line: 141
+#: ../src/gcompris/gcompris.c:140
msgid "display debug informations on the console."
msgstr "mostra le informazioni debug sulla console."
-#: ../src/gcompris/gcompris.c:137
+#
+# File: ../src/gcompris/gcompris.c, line: 144
+# File: ../src/gcompris/gcompris.c, line: 144
+# File: ../src/gcompris/gcompris.c, line: 144
+#: ../src/gcompris/gcompris.c:143
msgid "Print the version of "
msgstr "Stampa la versione di "
-#: ../src/gcompris/gcompris.c:139
+#
+# File: ../src/gcompris/gcompris.c, line: 147
+# File: ../src/gcompris/gcompris.c, line: 147
+# File: ../src/gcompris/gcompris.c, line: 147
+#: ../src/gcompris/gcompris.c:146
msgid "Use the antialiased canvas (slower)."
msgstr "Usa gli sfondi con antialias (più lento)"
-#: ../src/gcompris/gcompris.c:141
-msgid "Disable XRANDR (No screen resolution change)."
-msgstr ""
-"Disabilita XRANDR (inibisce il cambiamento di risoluzione dello schermo)."
+#
+# File: ../src/gcompris/gcompris.c, line: 150
+# File: ../src/gcompris/gcompris.c, line: 150
+# File: ../src/gcompris/gcompris.c, line: 150
+#: ../src/gcompris/gcompris.c:149
+msgid "Disable XF86VidMode (No screen resolution change)."
+msgstr "Disabilita XF86VidMode (Non permette il cambio di risoluzione)."
-#: ../src/gcompris/gcompris.c:143
+#
+# File: ../src/gcompris/gcompris.c, line: 153
+# File: ../src/gcompris/gcompris.c, line: 153
+# File: ../src/gcompris/gcompris.c, line: 153
+#: ../src/gcompris/gcompris.c:152
msgid ""
"Run gcompris with local menu (e.g -l /reading will let you play only "
-"activities in the reading directory, -l /boards/connect4 only the connect4 "
+"activities in the reading directory, -l /strategy/connect4 only the connect4 "
"activity)"
msgstr ""
-"Avvia gcompris con il menù locale (e.g. -l /reading ti farà utilizzare solo "
-"la directory dell'attività di lettura, -l /boards/connect4 solo l'attività "
-"forza4)"
+"Avvia gcompris con il menù locale (per esempio -l /reading ti farà "
+"utilizzare solo la directory dell'attività di lettura, -l /strategy/connect4 "
+"solo l'attività forza4)"
-#: ../src/gcompris/gcompris.c:145
+#
+# File: ../src/gcompris/gcompris.c, line: 156
+# File: ../src/gcompris/gcompris.c, line: 156
+# File: ../src/gcompris/gcompris.c, line: 156
+#: ../src/gcompris/gcompris.c:155
msgid "Run GCompris with local activity directory added to menu"
msgstr "Avvia GCompris con una directory di attività locale aggiunta al menù"
-#: ../src/gcompris/gcompris.c:147
+#
+# File: ../src/gcompris/gcompris.c, line: 159
+# File: ../src/gcompris/gcompris.c, line: 159
+# File: ../src/gcompris/gcompris.c, line: 159
+#: ../src/gcompris/gcompris.c:158
msgid "Run GCompris in administration and user-management mode"
msgstr "Avvia GCompris nella modalità amministrazione e di gestione utenti"
-#: ../src/gcompris/gcompris.c:149
+#
+# File: ../src/gcompris/gcompris.c, line: 162
+# File: ../src/gcompris/gcompris.c, line: 162
+# File: ../src/gcompris/gcompris.c, line: 162
+#: ../src/gcompris/gcompris.c:161
msgid "Use alternate database for profiles"
msgstr "Usa la base dati alternativa per i profili"
-#: ../src/gcompris/gcompris.c:151
+#
+# File: ../src/gcompris/gcompris.c, line: 165
+# File: ../src/gcompris/gcompris.c, line: 165
+# File: ../src/gcompris/gcompris.c, line: 165
+#: ../src/gcompris/gcompris.c:164
msgid "Use alternate database for logs"
msgstr "Usa la base dati alternativa per i log"
-#: ../src/gcompris/gcompris.c:153
+#
+# File: ../src/gcompris/gcompris.c, line: 168
+# File: ../src/gcompris/gcompris.c, line: 168
+# File: ../src/gcompris/gcompris.c, line: 168
+#: ../src/gcompris/gcompris.c:167
msgid "Create the alternate database for profiles"
msgstr "Crea la base dati alternativa per i profili"
-#: ../src/gcompris/gcompris.c:155
+#
+# File: ../src/gcompris/gcompris.c, line: 171
+# File: ../src/gcompris/gcompris.c, line: 171
+# File: ../src/gcompris/gcompris.c, line: 171
+#: ../src/gcompris/gcompris.c:170
msgid "Re-read XML Menus and store them in the database"
msgstr "Rileggi i menù XML ed inseriscili nella base dati"
-#: ../src/gcompris/gcompris.c:157
+#
+# File: ../src/gcompris/gcompris.c, line: 174
+# File: ../src/gcompris/gcompris.c, line: 174
+# File: ../src/gcompris/gcompris.c, line: 174
+#: ../src/gcompris/gcompris.c:173
msgid "Set the profile to use. Use 'gcompris -a' to create profiles"
msgstr "Imposta il profilo da usare. Usa 'gcompris -a' per creare profili"
-#: ../src/gcompris/gcompris.c:159
+#
+# File: ../src/gcompris/gcompris.c, line: 177
+# File: ../src/gcompris/gcompris.c, line: 177
+# File: ../src/gcompris/gcompris.c, line: 177
+#: ../src/gcompris/gcompris.c:176
msgid "List all available profiles. Use 'gcompris -a' to create profiles"
msgstr ""
"Elenca tutti i profili disponibili. Usa 'gcompris -a' per creare profili"
-#: ../src/gcompris/gcompris.c:161
+#
+# File: ../src/gcompris/gcompris.c, line: 180
+# File: ../src/gcompris/gcompris.c, line: 180
+# File: ../src/gcompris/gcompris.c, line: 180
+#: ../src/gcompris/gcompris.c:179
msgid ""
"Shared directory location, for profiles and board-configuration data: "
"[$HOME/.gcompris/shared]"
@@ -5447,15 +11403,91 @@ msgstr ""
"configurazione delle tavole:\n"
"[$HOME/.gcompris/shared]"
-#: ../src/gcompris/gcompris.c:163
+#
+# File: ../src/gcompris/gcompris.c, line: 183
+# File: ../src/gcompris/gcompris.c, line: 183
+# File: ../src/gcompris/gcompris.c, line: 183
+#: ../src/gcompris/gcompris.c:182
msgid "The location of user directories: [$HOME/.gcompris/users]"
msgstr "Il percorso delle directory utente: [$HOME/.gcompris/users]"
-#: ../src/gcompris/gcompris.c:165
+#
+# File: ../src/gcompris/gcompris.c, line: 186
+# File: ../src/gcompris/gcompris.c, line: 186
+# File: ../src/gcompris/gcompris.c, line: 186
+#: ../src/gcompris/gcompris.c:185
msgid "Run the experimental activities"
msgstr "Avvia le attività di sperimentazione"
-#: ../src/gcompris/gcompris.c:782
+#
+# File: ../src/gcompris/gcompris.c, line: 189
+# File: ../src/gcompris/gcompris.c, line: 189
+# File: ../src/gcompris/gcompris.c, line: 189
+#: ../src/gcompris/gcompris.c:188
+msgid "Disable the quit button"
+msgstr "Disabilita il bottone di uscita"
+
+#
+# File: ../src/gcompris/gcompris.c, line: 192
+# File: ../src/gcompris/gcompris.c, line: 192
+# File: ../src/gcompris/gcompris.c, line: 192
+#: ../src/gcompris/gcompris.c:191
+msgid "Disable the config button"
+msgstr "Disabilita il bottone di configurazione"
+
+#
+# File: ../src/gcompris/gcompris.c, line: 195
+# File: ../src/gcompris/gcompris.c, line: 195
+# File: ../src/gcompris/gcompris.c, line: 195
+#: ../src/gcompris/gcompris.c:194
+msgid "Display the resources on stdout based on the selected activities"
+msgstr "Mostra le risorse su stdout in base alle attività selezionate"
+
+#
+# File: ../src/gcompris/gcompris.c, line: 198
+# File: ../src/gcompris/gcompris.c, line: 198
+# File: ../src/gcompris/gcompris.c, line: 198
+#: ../src/gcompris/gcompris.c:197
+msgid ""
+"GCompris will get images, sounds and activity data from this server if not "
+"found locally."
+msgstr ""
+"GCompris prenderà le immagini, i suoni e i dati sulle attività da questo "
+"server se non le avrà trovate in locale."
+
+#
+# File: ../src/gcompris/gcompris.c, line: 201
+# File: ../src/gcompris/gcompris.c, line: 201
+# File: ../src/gcompris/gcompris.c, line: 201
+#: ../src/gcompris/gcompris.c:200
+msgid ""
+"Only when --server is provided, disable check for local resource first. Data "
+"are always taken from the web server."
+msgstr ""
+"Solo quando l'opzione --server è fornita, disabilita il controllo per la "
+"risorsa locale. I dati sono sempre presi dal web server."
+
+#
+# File: ../src/gcompris/gcompris.c, line: 205
+# File: ../src/gcompris/gcompris.c, line: 205
+# File: ../src/gcompris/gcompris.c, line: 205
+#: ../src/gcompris/gcompris.c:204
+msgid ""
+"In server mode, specify the cache directory used to avoid useless downloads."
+msgstr ""
+"Nella modalità server, specifica la directory cache utilizzata per evitare "
+"scaricamenti inutili."
+
+#: ../src/gcompris/gcompris.c:206
+msgid ""
+"Global drag and drop mode: normal, 2clicks, both. Default mode is normal."
+msgstr ""
+
+#
+# File: ../src/gcompris/gcompris.c, line: 838
+# File: ../src/gcompris/gcompris.c, line: 838
+# File: ../src/gcompris/gcompris.c, line: 838
+#: ../src/gcompris/gcompris.c:831
#, c-format
msgid ""
"GCompris is free software released under the GPL License. In order to "
@@ -5480,7 +11512,11 @@ msgstr ""
"l'uso di GNU/Linux. Per ulteriori informazioni FSF:\n"
"<http://www.fsf.org/philosophy>"
-#: ../src/gcompris/gcompris.c:1170
+#
+# File: ../src/gcompris/gcompris.c, line: 1433
+# File: ../src/gcompris/gcompris.c, line: 1433
+# File: ../src/gcompris/gcompris.c, line: 1433
+#: ../src/gcompris/gcompris.c:1438
#, c-format
msgid ""
"GCompris\n"
@@ -5493,51 +11529,128 @@ msgstr ""
"Licenza: GPL\n"
"Maggiori informazioni su http://gcompris.net\n"
+#
+# File: ../src/gcompris/gcompris.c, line: 1522
+# File: ../src/gcompris/gcompris.c, line: 1522
+# File: ../src/gcompris/gcompris.c, line: 1522
#. check the list of possible values for -l, then exit
-#: ../src/gcompris/gcompris.c:1244
+#: ../src/gcompris/gcompris.c:1527
#, c-format
msgid "Use -l to access an activity directly.\n"
msgstr "Usa -l per accedere direttamente ad una attività.\n"
-#: ../src/gcompris/gcompris.c:1245
+#
+# File: ../src/gcompris/gcompris.c, line: 1523
+# File: ../src/gcompris/gcompris.c, line: 1523
+# File: ../src/gcompris/gcompris.c, line: 1523
+#: ../src/gcompris/gcompris.c:1528
#, c-format
msgid "The list of available activities is :\n"
msgstr "La lista delle attività disponibili è :\n"
-#: ../src/gcompris/gcompris.c:1388
+#
+# File: ../src/gcompris/gcompris.c, line: 1701
+# File: ../src/gcompris/gcompris.c, line: 1701
+# File: ../src/gcompris/gcompris.c, line: 1701
+#: ../src/gcompris/gcompris.c:1720
#, c-format
msgid "The list of available profiles is:\n"
msgstr "La lista dei profili disponibili è:\n"
-#: ../src/gcompris/gcompris_db.c:237
+#
+# File: ../src/gcompris/gcompris_db.c, line: 255
+# File: ../src/gcompris/gcompris_db.c, line: 255
+# File: ../src/gcompris/gcompris_db.c, line: 255
+#: ../src/gcompris/gcompris_db.c:255
msgid "Unaffected"
msgstr "Escluso"
-#: ../src/gcompris/gcompris_db.c:238
+#
+# File: ../src/gcompris/gcompris_db.c, line: 256
+# File: ../src/gcompris/gcompris_db.c, line: 256
+# File: ../src/gcompris/gcompris_db.c, line: 256
+#: ../src/gcompris/gcompris_db.c:256
msgid "Users without a class"
msgstr "Utenti non appartenenti ad una classe"
-#: ../src/gcompris/help.c:203
+#
+# File: ../src/gcompris/help.c, line: 194
+# File: ../src/gcompris/help.c, line: 194
+# File: ../src/gcompris/help.c, line: 194
+#: ../src/gcompris/help.c:195
msgid "Prerequisite"
msgstr "Prerequisito"
-#: ../src/gcompris/help.c:231
+#
+# File: ../src/gcompris/help.c, line: 222
+# File: ../src/gcompris/help.c, line: 222
+# File: ../src/gcompris/help.c, line: 222
+#: ../src/gcompris/help.c:223
msgid "Goal"
msgstr "Scopo"
-#: ../src/gcompris/help.c:259
+#
+# File: ../src/gcompris/help.c, line: 250
+# File: ../src/gcompris/help.c, line: 250
+# File: ../src/gcompris/help.c, line: 250
+#: ../src/gcompris/help.c:251
msgid "Manual"
msgstr "Manuale"
-#: ../src/gcompris/help.c:287
+#
+# File: ../src/gcompris/help.c, line: 278
+# File: ../src/gcompris/help.c, line: 278
+# File: ../src/gcompris/help.c, line: 278
+#: ../src/gcompris/help.c:279
msgid "Credit"
msgstr "Ringraziamento"
-#: ../src/gcompris/timer.c:235
+#
+# File: ../src/gcompris/timer.c, line: 250
+# File: ../src/gcompris/timer.c, line: 250
+# File: ../src/gcompris/timer.c, line: 250
+#: ../src/gcompris/timer.c:250
msgid "Time Elapsed"
msgstr "Tempo trascorso"
-#: ../src/gcompris/timer.c:321
+#
+# File: ../src/gcompris/timer.c, line: 339
+# File: ../src/gcompris/timer.c, line: 339
+# File: ../src/gcompris/timer.c, line: 339
+#: ../src/gcompris/timer.c:339
#, c-format
msgid "Remaining Time = %d"
msgstr "Tempo restante = %d"
+
+#
+# File: ../boards/connect4.xml.in.h, line: 2
+# File: ../boards/connect4.xml.in.h, line: 2
+# File: ../boards/connect4.xml.in.h, line: 2
+#~ msgid "Click anywhere in the line where you want to drop a piece"
+#~ msgstr "Fai clic sulla linea dove vuoi per togliere un pezzo"
+
+#
+# File: ../src/boards/shapegame.c, line: 436
+# File: ../src/boards/shapegame.c, line: 436
+# File: ../src/boards/shapegame.c, line: 436
+#~ msgid ""
+#~ "You have entered Edit mode\n"
+#~ "Move the puzzle items;\n"
+#~ "type 's' to save, and\n"
+#~ "'d' to display all the shapes"
+#~ msgstr ""
+#~ "Hai attivato la modalità editor\n"
+#~ "Muovi i pezzi del puzzle;\n"
+#~ "premi 's' per salvare e\n"
+#~ "\"d\" per mostrare tutte le forme"
+
+#
+# File: ../src/boards/shapegame.c, line: 444
+# File: ../src/boards/shapegame.c, line: 444
+# File: ../src/boards/shapegame.c, line: 444
+#~ msgid ""
+#~ "The data from this activity are saved under\n"
+#~ "/tmp/gcompris-board.xml"
+#~ msgstr ""
+#~ "I dati di questa tavola sono salvati in\n"
+#~ "/tmp/gcompris-board.xml"
diff --git a/po/ko.po b/po/ko.po
new file mode 100644
index 0000000..d03eb9d
--- /dev/null
+++ b/po/ko.po
@@ -0,0 +1,6156 @@
+# Korean translation.
+# Copyright (C) 2004 THE gcompris COPYRIGHT HOLDER
+# This file is distributed under the same license as the gcompris package.
+# Gareth Owen <gowen72@yahoo.com>, 2004.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: gcompris\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2006-11-10 23:44+0900\n"
+"PO-Revision-Date: 2006-09-14 07:04-0000\n"
+"Last-Translator: David Lodge <dave@cirt.net>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: ../boards/administration.xml.in.h:1
+msgid ""
+"- In the 'Boards' section you can change the list of activities. Just "
+"untoggle them in the treeview. You can change the language used for reading, "
+"for example, then the language used for saying the names of colors.\n"
+"- You can save multiple configurations, and switch between them easily. In "
+"the 'Profile' section add a profile, then in the 'Board' section select the "
+"profile in the combobox, then select the boards you want to be active. You "
+"can add multiple profiles, with different lists of boards, and different "
+"languages. You set the default profile in the 'Profile' section, by choosing "
+"the profile you want, then clicking on the 'Default' button. You can also "
+"choose a profile from the command line.\n"
+"- You can add users, classes and for each class, you can create groups of "
+"users. Note that you can import users from a comma-separated file. Assign "
+"one or more groups to a profile, after which those new logins will appear "
+"after restarting GCompris. Being able to identify individual children in "
+"GCompris means we can provide individual reports. It also recognizes the "
+"children as individuals; they can learn to type in and recognize their own "
+"usernames (login is configurable)."
+msgstr ""
+"- In the 'Boards' section you can change the list of activities. Just "
+"untoggle them in the treeview. You can change the language used for reading, "
+"for example, then the language used for saying the names of colours.\n"
+"- You can save multiple configurations, and switch between them easily. In "
+"the 'Profile' section add a profile, then in the 'Board' section select the "
+"profile in the combobox, then select the boards you want to be active. You "
+"can add multiple profiles, with different lists of boards, and different "
+"languages. You set the default profile in the 'Profile' section, by choosing "
+"the profile you want, then clicking on the 'Default' button. You can also "
+"choose a profile from the command line.\n"
+"- You can add users, classes. For each class, you can create groups of "
+"users. Note that you can import users from a comma-separated file. Assign "
+"one or more groups to a profile, after which those new logins will appear "
+"after restarting GCompris. Being able to identify individual children in "
+"GCompris means we can provide individual reports. It also recognises the "
+"children as individuals; they can learn to type in and recognise their own "
+"usernames (login is configurable)."
+
+#: ../boards/administration.xml.in.h:4
+msgid "GCompris Administration Menu"
+msgstr "GCompris ê´€ë¦¬ìž ë©”ë‰´"
+
+#: ../boards/administration.xml.in.h:5
+msgid ""
+"If you want to fine tune GCompris to your needs, you can use the "
+"administration module here. The ultimate goal is to provide child-specific "
+"reporting for parents and teacher who want to monitor the progress, "
+"strengths and needs of their children."
+msgstr ""
+"If you want to fine tune GCompris to your needs, you can use the "
+"administration module here. The ultimate goal is to provide child-specific "
+"reporting for parents and teacher who want to monitor the progress, "
+"strengths and needs of their children."
+
+#: ../boards/administration.xml.in.h:6
+msgid "Left-Click with the mouse to select an activity"
+msgstr "마우스 오른쪽 ë²„íŠ¼ì„ í´ë¦­í•´ì„œ í–‰ë™ì„ ì„ íƒí•˜ì„¸ìš”"
+
+#: ../boards/advanced_colors.xml.in.h:1
+msgid "Advanced colors"
+msgstr "어려운 색깔 맞추기"
+
+#: ../boards/advanced_colors.xml.in.h:2 ../boards/read_colors.xml.in.h:1
+msgid "Can read"
+msgstr "ì½ì„ 수 있다"
+
+#: ../boards/advanced_colors.xml.in.h:3
+msgid "Click on the correct color"
+msgstr "알맞는 ìƒ‰ê¹”ì„ í´ë¦­í•˜ì„¸ìš”"
+
+#: ../boards/advanced_colors.xml.in.h:4
+msgid "Click on the correct colored box."
+msgstr "알맞는 ìƒ‰ê¹”ì˜ ìƒìžë¥¼ ì„ íƒí•˜ì„¸ìš”."
+
+#: ../boards/advanced_colors.xml.in.h:5
+msgid "Learn to recognize unusual colors."
+msgstr "색깔 구별하는법 배우기."
+
+#: ../boards/advanced_colors/board1.xml.in.h:1
+msgid "almond"
+msgstr "연한 갈색"
+
+#: ../boards/advanced_colors/board1.xml.in.h:2
+msgid "chestnut"
+msgstr "밤색"
+
+#: ../boards/advanced_colors/board1.xml.in.h:3
+msgid "claret"
+msgstr "ìžì£¼ìƒ‰"
+
+#: ../boards/advanced_colors/board1.xml.in.h:4
+msgid "cobalt"
+msgstr "청색"
+
+#: ../boards/advanced_colors/board1.xml.in.h:5
+msgid "coral"
+msgstr "분í™ìƒ‰"
+
+#: ../boards/advanced_colors/board1.xml.in.h:6
+msgid "corn"
+msgstr "곡물"
+
+#: ../boards/advanced_colors/board1.xml.in.h:7
+msgid "cyan"
+msgstr "ì²­ë¡ìƒ‰"
+
+#: ../boards/advanced_colors/board1.xml.in.h:8
+msgid "sienna"
+msgstr "황갈색"
+
+#: ../boards/advanced_colors/board2.xml.in.h:1
+msgid "lime"
+msgstr "ì„회"
+
+#: ../boards/advanced_colors/board2.xml.in.h:2
+msgid "sage"
+msgstr "살비아"
+
+#: ../boards/advanced_colors/board2.xml.in.h:3
+msgid "salmon"
+msgstr "연어색"
+
+#: ../boards/advanced_colors/board2.xml.in.h:4
+msgid "sapphire"
+msgstr "사파ì´ì–´ìƒ‰"
+
+#: ../boards/advanced_colors/board2.xml.in.h:5
+msgid "sepia"
+msgstr "갈색"
+
+#: ../boards/advanced_colors/board2.xml.in.h:6
+msgid "sulphur"
+msgstr "유황색"
+
+#: ../boards/advanced_colors/board2.xml.in.h:7
+msgid "tea"
+msgstr "차색"
+
+#: ../boards/advanced_colors/board2.xml.in.h:8
+msgid "turquoise"
+msgstr "터키옥색"
+
+#: ../boards/advanced_colors/board3.xml.in.h:1
+msgid "absinthe"
+msgstr "쑥색"
+
+#: ../boards/advanced_colors/board3.xml.in.h:2
+msgid "alabaster"
+msgstr "ì„고색"
+
+#: ../boards/advanced_colors/board3.xml.in.h:3
+msgid "amber"
+msgstr "ê°ìƒ‰"
+
+#: ../boards/advanced_colors/board3.xml.in.h:4
+msgid "amethyst"
+msgstr "ìžìˆ˜ì •ìƒ‰"
+
+#: ../boards/advanced_colors/board3.xml.in.h:5
+msgid "anise"
+msgstr "아니스색"
+
+#: ../boards/advanced_colors/board3.xml.in.h:6
+msgid "aquamarine"
+msgstr "아쿠아마린"
+
+#: ../boards/advanced_colors/board3.xml.in.h:7
+msgid "mahogany"
+msgstr "마호가니색"
+
+#: ../boards/advanced_colors/board3.xml.in.h:8
+#: ../boards/advanced_colors/board8.xml.in.h:8
+msgid "vermilion"
+msgstr "주í™ìƒ‰"
+
+#: ../boards/advanced_colors/board4.xml.in.h:1
+#: ../boards/advanced_colors/board5.xml.in.h:1
+msgid "aubergine"
+msgstr "ì•”ìžìƒ‰"
+
+#: ../boards/advanced_colors/board4.xml.in.h:2
+msgid "ceruse"
+msgstr "연백색"
+
+#: ../boards/advanced_colors/board4.xml.in.h:3
+msgid "chartreuse"
+msgstr "연황ë¡ìƒ‰"
+
+#: ../boards/advanced_colors/board4.xml.in.h:4
+msgid "emerald"
+msgstr "ì—메랄드"
+
+#: ../boards/advanced_colors/board4.xml.in.h:5
+msgid "fawn"
+msgstr "ì—·ì€í™©ê°ˆìƒ‰"
+
+#: ../boards/advanced_colors/board4.xml.in.h:6
+msgid "fuchsia"
+msgstr "ìží™ìƒ‰"
+
+#: ../boards/advanced_colors/board4.xml.in.h:7
+msgid "glaucous"
+msgstr "연한청ë¡ìƒ‰"
+
+#: ../boards/advanced_colors/board4.xml.in.h:8
+msgid "ruby"
+msgstr "루비"
+
+#: ../boards/advanced_colors/board5.xml.in.h:2
+msgid "auburn"
+msgstr "ì ê°ˆìƒ‰"
+
+#: ../boards/advanced_colors/board5.xml.in.h:3
+msgid "azure"
+msgstr "담청색"
+
+#: ../boards/advanced_colors/board5.xml.in.h:4
+msgid "bistre"
+msgstr "암갈색"
+
+#: ../boards/advanced_colors/board5.xml.in.h:5
+msgid "celadon"
+msgstr "ì²­ìžìƒ‰"
+
+#: ../boards/advanced_colors/board5.xml.in.h:6
+msgid "cerulean"
+msgstr "짙ì€ì²­ìƒ‰"
+
+#: ../boards/advanced_colors/board5.xml.in.h:7
+msgid "crimson"
+msgstr "진í™ìƒ‰"
+
+#: ../boards/advanced_colors/board5.xml.in.h:8
+msgid "greyish-brown"
+msgstr "회갈색"
+
+#: ../boards/advanced_colors/board6.xml.in.h:1
+msgid "dove"
+msgstr "ë°ì€íšŒìƒ‰"
+
+#: ../boards/advanced_colors/board6.xml.in.h:2
+msgid "garnet"
+msgstr "심í™ìƒ‰"
+
+#: ../boards/advanced_colors/board6.xml.in.h:3
+msgid "indigo"
+msgstr "쪽빛남색"
+
+#: ../boards/advanced_colors/board6.xml.in.h:4
+msgid "ivory"
+msgstr "ì•„ì´ë³´ë¦¬"
+
+#: ../boards/advanced_colors/board6.xml.in.h:5
+msgid "jade"
+msgstr "비취색"
+
+#: ../boards/advanced_colors/board6.xml.in.h:6
+msgid "lavender"
+msgstr "ë¼ë²¤ë”"
+
+#: ../boards/advanced_colors/board6.xml.in.h:7
+msgid "lichen"
+msgstr "ë¼ì´ì¼„"
+
+#: ../boards/advanced_colors/board6.xml.in.h:8
+msgid "wine"
+msgstr "와ì¸"
+
+#: ../boards/advanced_colors/board7.xml.in.h:1
+msgid "larch"
+msgstr "ë¼ì¹˜"
+
+#: ../boards/advanced_colors/board7.xml.in.h:2
+msgid "lilac"
+msgstr "ì—·ì€ìžìƒ‰"
+
+#: ../boards/advanced_colors/board7.xml.in.h:3
+msgid "magenta"
+msgstr "ìží™ìƒ‰"
+
+#: ../boards/advanced_colors/board7.xml.in.h:4
+msgid "malachite"
+msgstr "ë§ë¼ì¹´ì´íŠ¸"
+
+#: ../boards/advanced_colors/board7.xml.in.h:5
+msgid "mimosa"
+msgstr "미모사꽃색"
+
+#: ../boards/advanced_colors/board7.xml.in.h:6
+msgid "navy"
+msgstr "짙ì€ë‚¨ìƒ‰"
+
+#: ../boards/advanced_colors/board7.xml.in.h:7
+msgid "ochre"
+msgstr "오커색"
+
+#: ../boards/advanced_colors/board7.xml.in.h:8
+msgid "olive"
+msgstr "올리브색"
+
+#: ../boards/advanced_colors/board8.xml.in.h:1
+msgid "greyish blue"
+msgstr "회청색"
+
+#: ../boards/advanced_colors/board8.xml.in.h:2
+msgid "mauve"
+msgstr "ë‹´ìžìƒ‰"
+
+#: ../boards/advanced_colors/board8.xml.in.h:3
+msgid "opaline"
+msgstr "유백색"
+
+#: ../boards/advanced_colors/board8.xml.in.h:4
+msgid "pistachio"
+msgstr "담황ë¡ìƒ‰"
+
+#: ../boards/advanced_colors/board8.xml.in.h:5
+msgid "platinum"
+msgstr "백금색"
+
+#: ../boards/advanced_colors/board8.xml.in.h:6
+msgid "purple"
+msgstr "ë³´ë¼ìƒ‰"
+
+#: ../boards/advanced_colors/board8.xml.in.h:7
+msgid "ultramarine"
+msgstr "군청색"
+
+#: ../boards/advanced_colors/board9.xml.in.h:1
+msgid "dark purple"
+msgstr "ì•”ìžìƒ‰"
+
+#: ../boards/advanced_colors/board9.xml.in.h:2
+msgid "plum"
+msgstr "진보ë¼ìƒ‰"
+
+#: ../boards/advanced_colors/board9.xml.in.h:3
+msgid "prussian blue"
+msgstr "진청색"
+
+#: ../boards/advanced_colors/board9.xml.in.h:4
+msgid "rust"
+msgstr "녹빛색"
+
+#: ../boards/advanced_colors/board9.xml.in.h:5
+msgid "saffron"
+msgstr "샤프란색"
+
+#: ../boards/advanced_colors/board9.xml.in.h:6
+msgid "vanilla"
+msgstr "ë°”ë‹ë¼ìƒ‰"
+
+#: ../boards/advanced_colors/board9.xml.in.h:7
+msgid "verdigris"
+msgstr "녹청색"
+
+#: ../boards/advanced_colors/board9.xml.in.h:8
+msgid "veronese"
+msgstr "베로나색"
+
+#: ../boards/algebra_by.xml.in.h:1
+msgid ""
+"A multiplication of two numbers is displayed. At the right of the equals "
+"sign, give the answer, the product. Use the left and right arrows to modify "
+"your answer and press the Enter key to check if you've got it right. If not, "
+"just try again."
+msgstr ""
+"ë‘ ìˆ˜ì˜ ê³±ì´ ì¶œë ¥ë©ë‹ˆë‹¤. ë¶€í˜¸ì˜ ì˜¤ë¥¸ìª½ì— ë‹µì„ í‘œì‹œí•˜ì‹­ì‹œìš”. ë‹µì„ í™•ì¸ í•˜ê¸°ìœ„"
+"í•´ 좌/ìš° 화살표를 ì´ìš©í•´ì„œ ë‹µì„ ê³ ì¹˜ê³  엔터키를 누르세요. 만약 틀렸다면 다시 "
+"ì‹œë„하세요"
+
+#: ../boards/algebra_by.xml.in.h:2 ../boards/algebra_minus.xml.in.h:2
+#: ../boards/algebra_plus.xml.in.h:2
+msgid "Answer some algebra questions"
+msgstr "ë¬¸ì œì— ë‹µí•˜ì„¸ìš”"
+
+#: ../boards/algebra_by.xml.in.h:3
+msgid "In a limited time, give the product of two numbers"
+msgstr "ì œí•œëœ ì‹œê°„ë™ì•ˆ ë‘ ìˆ˜ì˜ ê³±ì„ êµ¬í•˜ì„¸ìš”"
+
+#: ../boards/algebra_by.xml.in.h:4
+msgid "Multiplication table"
+msgstr "곱셈표"
+
+#: ../boards/algebra_by.xml.in.h:5
+msgid "Practice the multiplication operation"
+msgstr "곱하기를 연습합니다"
+
+#: ../boards/algebra_group.xml.in.h:1
+msgid "Go to Algebra activities"
+msgstr "사칙 연산 게임"
+
+#: ../boards/algebra_group.xml.in.h:2 ../boards/menu.xml.in.h:17
+msgid "Left-click the mouse on an activity to select it."
+msgstr "마우스 왼쪽 ë²„íŠ¼ì„ ì´ìš©í•´ 활ë™ë“¤ì„ 고르세요"
+
+#: ../boards/algebra_guesscount.xml.in.h:1 ../boards/erase_clic.xml.in.h:1
+#: ../boards/erase_double_clic.xml.in.h:1
+msgid ""
+"Animal pictures come from the Animal Photography Page of Ralf Schmode "
+"(http://schmode.net/). Ralf has kindly permitted Gcompris to include his "
+"pictures. Thanks a lot, Ralf."
+msgstr ""
+"ë™ë¬¼ ì‚¬ì§„ë“¤ì€ ë™ë¬¼ 사진작가 Ralf Schmode (http://schmode.net/) 홈페ì´ì§€ì—ì„œ "
+"가지고 왔습니다.. Ralf 는 친철하게 ì €í¬ì—게 ê·¸ì˜ ì‚¬ì§„ì„ ì´ìš©í• ìˆ˜ 있게해주었습"
+"니다. ê°ì‚¬í•´ìš” Ralf."
+
+#: ../boards/algebra_guesscount.xml.in.h:2
+msgid ""
+"At the top of the board area, choose the numbers and arithmetic operators "
+"that give the specified result. You can deselect a number or operator by "
+"clicking on it again."
+msgstr ""
+"íŒì˜ 위쪽 부분ì—ì„œ 특정 결과가 나오는 숫ìžì™€ ìˆ˜ì˜ ì—°ì‚°ìžë“¤ì„ 고르세요. 다시 "
+"í´ë¦­í•˜ëŠ” 것으로 ì„ íƒì„ 해제할 수 있습니다."
+
+#: ../boards/algebra_guesscount.xml.in.h:3
+msgid ""
+"Deploy a strategy to arrange a set of arithmetic operations to match a given "
+"value."
+msgstr "주어진 ê°’ì— ë§žë„ë¡ ìˆ˜ì˜ ì—°ì‚°ìžë¥¼ 배열하는 ë²•ì„ ìƒê°í•´ë³´ì„¸ìš”"
+
+#: ../boards/algebra_guesscount.xml.in.h:4
+msgid "Find the series of correct operations that matches the given answer"
+msgstr "주어진 ê°’ê³¼ 맞는 수와 ì—°ì‚°ìžë“¤ì„ 찾으세요"
+
+#: ../boards/algebra_guesscount.xml.in.h:5
+msgid "The four arithmetic operations. Combine several arithmetic operations."
+msgstr "4ê°œì˜ ìˆ˜ì˜ ì—°ì‚°ìžê°€ 있습니다. ì´ ì—°ì‚°ìžë“¤ì„ 섞어보세요."
+
+#: ../boards/algebra_guesscount.xml.in.h:6
+msgid ""
+"Work out the right combination of numbers and operations to match the given "
+"value"
+msgstr "ì˜¤ë¥¸ìª½ì˜ ìˆ«ìžì™€ ì—°ì‚°ìžì˜ ì¡°í•©ì„ ì£¼ì–´ì§„ ê°’ì— ë§žê²Œ 골ë¼ë³´ì„¸ìš”"
+
+#: ../boards/algebra_minus.xml.in.h:1
+#, fuzzy
+msgid ""
+"A subtraction problem with two numbers is displayed. At the right of the "
+"equals sign, give the answer, the difference. Use the left and right arrows "
+"to modify your answer and press the Enter key to check if you've got it "
+"right. If not, just try again."
+msgstr ""
+"ë‘ ìˆ˜ì˜ ì°¨ê°€ 출력ë©ë‹ˆë‹¤. ë¶€í˜¸ì˜ ì˜¤ë¥¸ìª½ì— ë‹µì„ í‘œì‹œí•˜ì‹­ì‹œìš”. ë‹µì„ í™•ì¸ í•˜ê¸°ìœ„"
+"í•´ 좌/ìš° 화살표를 ì´ìš©í•´ì„œ ë‹µì„ ê³ ì¹˜ê³  엔터키를 누르세요. 만약 틀렸다면 다시 "
+"ì‹œë„하세요."
+
+#: ../boards/algebra_minus.xml.in.h:3
+msgid "In a limited time, find the difference between two numbers"
+msgstr "ì œí•œëœ ì‹œê°„ë™ì•ˆ ë‘ ìˆ˜ì˜ ì°¨ë¥¼ 구하세요"
+
+#: ../boards/algebra_minus.xml.in.h:4
+msgid "Practice the subtraction operation"
+msgstr "빼기를 연습합니다."
+
+#: ../boards/algebra_minus.xml.in.h:5
+msgid "Simple subtraction"
+msgstr "간단한 뺄셈"
+
+#: ../boards/algebra_plus.xml.in.h:1
+msgid ""
+"An addition problem with two numbers is displayed. At the right of the "
+"equals sign, give the answer, the sum. Use the left and right arrows to "
+"modify your answer and press the Enter key to check if you've got it right. "
+"If not, just try again."
+msgstr ""
+"ë‘ ìˆ˜ì˜ í•©ì´ ì¶œë ¥ë©ë‹ˆë‹¤. ë¶€í˜¸ì˜ ì˜¤ë¥¸ìª½ì— ë‹µì„ í‘œì‹œí•˜ì‹­ì‹œìš”. ë‹µì„ í™•ì¸ í•˜ê¸°ìœ„"
+"í•´ 좌/ìš° 화살표를 ì´ìš©í•´ì„œ ë‹µì„ ê³ ì¹˜ê³  엔터키를 누르세요. 만약 틀렸다면 다시 "
+"ì‹œë„하세요."
+
+#: ../boards/algebra_plus.xml.in.h:3
+#, fuzzy
+msgid ""
+"In a limited time, find the sum of of two numbers. Introduction to simple in-"
+"line addition."
+msgstr "ì œí•œëœ ì‹œê°„ë™ì•ˆ ë‘ ìˆ˜ì˜ ì°¨ë¥¼ 구하세요."
+
+#: ../boards/algebra_plus.xml.in.h:4
+msgid "Practice the addition operation"
+msgstr "ë”하기를 연습합니다"
+
+#: ../boards/algebra_plus.xml.in.h:5
+msgid "Simple addition. Can recognize written numbers"
+msgstr "간단한 추가문제. 씌여 있는 숫ìžë¥¼ ì¸ì§€í•˜ì„¸ìš”"
+
+#: ../boards/algebramenu.xml.in.h:1
+msgid "Go to calculation activities"
+msgstr "계산 활ë™"
+
+#: ../boards/algebramenu.xml.in.h:2
+msgid "Various calculation activities."
+msgstr "다양한 계산 활ë™ë“¤."
+
+#: ../boards/algorithm.xml.in.h:1
+msgid "Complete a list of symbols"
+msgstr "ì‹¬ë³¼ë“¤ì˜ ë¦¬ìŠ¤íŠ¸ë¥¼ 완성하세요"
+
+#: ../boards/algorithm.xml.in.h:2
+msgid "Find the next symbol in a list."
+msgstr "ë¦¬ìŠ¤íŠ¸ì— ìžˆëŠ” ë‹¤ìŒ ì‹¬ë³¼ì„ ì°¾ìœ¼ì„¸ìš”."
+
+#: ../boards/algorithm.xml.in.h:3
+msgid "Logic training activity"
+msgstr "논리 훈련 활ë™"
+
+#: ../boards/algorithm.xml.in.h:4 ../boards/hexagon.xml.in.h:3
+#: ../boards/melody.xml.in.h:4
+msgid "Move and click the mouse"
+msgstr "마우스를 움ì§ì—¬ì„œ í´ë¦­í•˜ì„¸ìš”"
+
+#: ../boards/algorithm.xml.in.h:5
+msgid "algorithm"
+msgstr "알고리즘"
+
+#: ../boards/anim.xml.in.h:1
+msgid "Create a drawing or an animation"
+msgstr "애니메ì´ì…˜ì´ë‚˜ ê·¸ë¦¼ì„ ì°½ìž‘í•˜ì„¸ìš”"
+
+#: ../boards/anim.xml.in.h:2
+msgid "Free drawing and animation tool."
+msgstr "ìžìœ ë¡œìš´ 그림 & 애니메ì´ì…˜ ë„구"
+
+#: ../boards/anim.xml.in.h:3
+msgid ""
+"In this game, children can draw freely. The goal is to discover how to "
+"create attractive drawings based on basic shapes: rectangles, ellipses and "
+"lines. To give children a wider range of choices, a set of images can also "
+"be used."
+msgstr ""
+"ì´ ê²Œìž„ì—ì„œ 어린ì´ë“¤ì€ ìžìœ ë¡­ê²Œ 그릴 수 있습니다. 목표는 어떻게 하면 사ê°í˜•, "
+"곡선, ì§ì„ ë“¤ì„ ì´ìš©í•´ 멋진 ê·¸ë¦¼ì„ ê·¸ë¦´ 수 있는 ê²ƒì„ ë°œê²¬í•˜ëŠ” 것입니다. 어린ì´"
+"들ì—게 ì¢€ë” ë§Žì€ ì„ íƒì„ 위해서, ê·¸ë¦¼ë“¤ì„ ì´ìš©í• ìˆ˜ë„ 있습니다."
+
+#: ../boards/anim.xml.in.h:4 ../boards/draw.xml.in.h:4
+msgid "Needs to be capable of moving and clicking the mouse easily"
+msgstr "마우스를 쉽게 움ì§ì´ê³  í´ë¦­í• ìˆ˜ 있는게 요구ë©ë‹ˆë‹¤."
+
+#: ../boards/anim.xml.in.h:5
+msgid ""
+"Select a drawing tool on the left, and a color down the bottom. Then click "
+"and drag in the white area to create a new shape. Once you've completed a "
+"drawing, you can take a snapshot of it with the 'camera' button. This "
+"creates a new image with the same content, a copy of your image. You can "
+"then edit it by moving objects a little bit or adding/deleting objects. When "
+"you create several drawings and then click on the 'film' button, you will "
+"see all your images in a continuous slide-show (an infinite loop pattern). "
+"You can also change the viewing speed in this mode. In viewing mode, click "
+"on the 'drawing' button to return to drawing mode. You can then edit each "
+"image in your animation, by using the image selector in the bottom-left "
+"corner of the screen. You can also save and reload your animations with the "
+"'floppy disk' and 'folder' buttons."
+msgstr ""
+"ì™¼ìª½ì˜ ê·¸ë¦¬ê¸° ë„구를 ì„ íƒí•˜ê³ , 아래 쪽ì—ì„œ 색ìƒì„ ì„ íƒí•˜ì„¸ìš”. 그리고 새로운 "
+"ëª¨ì–‘ì„ í•˜ì–€ ì§€ì—­ì— í´ë¦­ & 드래그로 그리세요. 한번 그리기를 완료하면, ë‹¹ì‹ ì€ "
+"'ì¹´ë©”ë¼' ë²„íŠ¼ì„ ì´ìš©í•´ 스냅 ìƒ·ì„ ì°ì„수 있답니다. ë‹¹ì‹ ì˜ ì´ë¯¸ì§€ì™€ ë˜‘ê°™ì€ ì´ë¯¸"
+"지를 ìƒì„±í•˜ê²Œ ë©ë‹ˆë‹¤. 그리고 물체를 추가하거나 제거, ë˜ëŠ” 움ì§ì—¬ì„œ ê·¸ë¦¼ì„ ìˆ˜"
+"정할수 있습니다. 여러가지 ê·¸ë¦¼ì„ ê·¸ë¦¬ê³  '필름' ë²„íŠ¼ì„ í´ë¦­í•˜ë©´, ë‹¹ì‹ ì€ ëª¨ë“  "
+"ì´ë¯¸ì§€ë¥¼ ì—°ì†ì ì¸ 슬ë¼ì´ë“œ 쇼(무한 반복 패턴ì˜)ë¡œ 볼수 있습니다. 그리고 슬ë¼"
+"ì´ë“œì˜ ì†ë„ë¡œ 조절할수 있습니다. 슬ë¼ì´ë“œë¥¼ 보는 ì¤‘ì— '드로잉'ë²„íŠ¼ì„ ëˆ„ë¥´ë©´ "
+"그림 그리는 모드로 ëŒì•„갈수 있습니다. 좌측 í•˜ë‹¨ì˜ ì´ë¯¸ì§€ ì„ íƒê¸°ë¥¼ ì´ìš©í•˜ì—¬ 당"
+"ì‹ ì˜ ì• ë‹ˆë©”ì´ì…˜ ì†ì˜ ê°ê°ì˜ ì´ë¯¸ì§€ë“¤ì„ 수정할수 있습니다. 물론 애니메ì´ì…˜ì„ "
+"'플로피 디스í¬' 와 'í´ë”' ë²„íŠ¼ì„ í†µí•´ì„œ 저장하거나 불러오는 ê²ƒë„ ê°€ëŠ¥í•©ë‹ˆë‹¤."
+
+#: ../boards/awele.xml.in.h:1
+msgid ""
+"At the beginning of the game four seeds are placed in each house. Players "
+"take turns moving the seeds. In each turn, a player chooses one of the six "
+"houses under his or her control. The player removes all seeds from this "
+"house, and distributes them, dropping one in each house counter-clockwise "
+"from the original house, in a process called sowing. Seeds are not "
+"distributed into the end scoring houses, nor into the house drawn from. That "
+"is, the starting house is left empty; if it contained 12 seeds, it is "
+"skipped, and the twelfth seed is placed in the next house. After a turn, if "
+"the last seed was placed into an opponent's house and brought its total to "
+"two or three, all the seeds in that house are captured and placed in the "
+"player's scoring house (or set aside if the board has no scoring houses). If "
+"the previous-to-last seed also brought the total seeds in an opponent's "
+"house to two or three, these are captured as well, and so on. However, if a "
+"move would capture all an opponent's seeds, the capture is forfeited, and "
+"the seeds are instead left on the board, since this would prevent the "
+"opponent from continuing the game. The proscription against capturing all an "
+"opponent's seeds is related to a more general idea, that one ought to make a "
+"move that allows the opponent to continue playing. If an opponent's houses "
+"are all empty, the current player must make a move that gives the opponent "
+"seeds. If no such move is possible, the current player captures all seeds in "
+"his/her own territory, ending the game. (Source Wikipedia &lt;http://en."
+"wikipedia.org/wiki/Oware&gt;)"
+msgstr ""
+"ê²Œìž„ì´ ì‹œìž‘í• ë•ŒëŠ” 4ê°œì˜ ì”¨ì•—ì´ ê°ê°ì˜ ì§‘ì— ìœ„ì¹˜í•´ 있습니다. 유저는 ê° í„´ë§ˆë‹¤ "
+"ì”¨ì•—ì„ ì›€ì§ì¼ìˆ˜ 있습니다. ê° í„´ë§ˆë‹¤ 유저는 6ê°œì˜ ìžì‹ ì˜ 집 ì¤‘ì— í•˜ë‚˜ë¥¼ ì„ íƒí•©"
+"니다. 유저는 ì´ ì§‘ì—ì„œ 모든 ì”¨ì•—ì„ ì œê±°í•˜ê³ , ì›ëž˜ 집으로부터 시계방향으로 ê°"
+"ê°ì˜ ì§‘ì— í•˜ë‚˜ì”© ì”¨ì•—ì„ ë–¨ì–´ëœ¨ë ¤ 분배해야합니다. ì”¨ì•—ì€ ëì˜ ê¸°ë¡í•˜ëŠ” 집ì´"
+"나, 뽑아진 집ì—는 분배ë˜ì–´ì„œëŠ” 절대로 안ë©ë‹ˆë‹¤. ì´ ë§ì€ 출발ì ì˜ ì§‘ì€ ë¹ˆ ìƒíƒœ"
+"ë¡œ 남아 있어야하고, 만약 ê·¸ ê²ƒì´ 12ê°œì˜ ì”¨ì•—ì„ í¬í•¨í•˜ê³  있었다면, 12번째 씨앗"
+"ì€ ì²˜ìŒ ì¶œë°œí•œ ì§‘ì´ ì•„ë‹ˆë¼ ê·¸ 다ìŒì§‘ì— ë¶„ë°°ë˜ì–´ì•¼ 합니다. í•œí„´ì´ ì§€ë‚˜ê³ , 만"
+"약 ë‚¨ì€ ì”¨ì•—ì´ ìƒëŒ€ë°©ì˜ ì§‘ì— ìžˆê±°ë‚˜, 모든 ì”¨ì•—ì´ ê¸°ë¡í•˜ëŠ” 집(ë˜ëŠ” 만약 기ë¡í•˜"
+"는 ì§‘ì´ ì—†ë‹¤ë©´ ë”°ë¡  남겨둔)ì— ë‚¨ì•„ìžˆë‹¤ë©´ ,ë˜í•œ 마지막 바로 ì „ ì”¨ì•—ì´ ì•žì—ì„œ "
+"얘기 í–ˆë˜ ìƒí™©ì´ë¼ë©´, ì´ê²ƒë“¤ì€ 잘 잡힌 ê²ë‹ˆë‹¤. 하지만, 만약 모든 ìƒëŒ€ë°©ì˜ 씨"
+"ì•—ì„ ìž¡ëŠ”ë‹¤ë©´ 기권ë˜ì–´ 집니다, 그리고 ì”¨ì•—ë“¤ì€ ìƒëŒ€ë°©ì˜ 게임 ì§„í–‰ì„ ë§‰ê¸° 위해"
+"ì„œ ë³´ë“œì˜ ì™¼ìª½ì— ìœ„ì¹˜ë˜ì–´ 집니다. ìƒëŒ€ë°©ì´ ê³„ì† ê²Œìž„ì„ í•˜ê²Œ 하는 것과 ìƒëŒ€ë°©"
+"ì˜ ì”¨ì•—ì„ ìž¡ëŠ” ê²ƒì€ ë”ìš± ì¼ë°˜ì ì¸ ìƒê°ê³¼ 관계가 있습니다. 만약 ìƒëŒ€ë°©ì˜ ì§‘ì´ "
+"ëª¨ë‘ ë¹„ì—¬ 있다면, í˜„ìž¬ì˜ í”Œë ˆì´ì–´ëŠ” ìƒëŒ€ë°©ì˜ ì”¨ì•—ì„ ì£¼ëŠ” 움ì§ìž„ì„ ì·¨í•´ì•¼ 합니"
+"다. 만약 그런 움ì§ìž„ì´ ë¶ˆê°€ëŠ¥í•˜ë‹¤ë©´, ìžì‹ ì˜ ì˜í† ì˜ 모든 ì”¨ì•—ì„ ìž¡ì•„ì„œ ê²Œìž„ì„ "
+"ë내야 합니다. (출처 Wikipedia &lt;http://en.wikipedia.org/wiki/Oware&gt;)"
+
+#: ../boards/awele.xml.in.h:2
+msgid "Oware"
+msgstr "오웨어(Oware)게임"
+
+#: ../boards/awele.xml.in.h:3
+msgid "Play the Oware strategy game against Tux"
+msgstr "Tux를 ìƒëŒ€ë¡œ 오웨어(Oware)ê²Œìž„ì„ í•˜ìž."
+
+#: ../boards/awele.xml.in.h:4
+msgid ""
+"The object of the game is to capture more seeds than one's opponent. Since "
+"the game has only 48 seeds, capturing 25 is sufficient to accomplish this. "
+"Since there are an even number of seeds, it is possible for the game to end "
+"in a draw, where each player has captured 24. The game is over when one "
+"player has captured 25 or more stones, or both players have taken 24 stones "
+"each (draw). If both players agree that the game has been reduced to an "
+"endless cycle, each player captures the stones on their side of the board."
+msgstr ""
+"ê²Œìž„ì˜ ëª©í‘œëŠ” ìƒëŒ€ë°© 보다 ë§Žì€ ì”¨ì•—ì„ ê°€ì§€ëŠ” 것입니다.. 게임ì—서는 48ê°œì˜ ì”¨"
+"ì•—ì´ ìžˆìœ¼ë¯€ë¡œ 25개만 ê°€ì ¸ë„ ì¶©ë¶„í•©ë‹ˆë‹¤. ê°ê°ì˜ 플레ì´ì–´ê°€ 24개씩 잡는다면 게"
+"ìž„ì€ ë¹„ê¸°ê¸°ê²Œ ë©ë‹ˆë‹¤. ê²Œìž„ì€ í•œëª…ì´ 25ê°œ ì´ìƒì˜ ì”¨ì•—ì„ ê°€ì§€ê±°ë‚˜, ë‘명 ëª¨ë‘ 24"
+"ê°œ(비기는 경우)를 가진경우 ë나게 ë©ë‹ˆë‹¤. 만약 ë‘명 ëª¨ë‘ ê²Œìž„ì´ ë나지 않는다"
+"ê³  ìƒê°í•œë‹¤ë©´, ê°ìž ë³´ë“œì˜ ì˜†ì— ì”¨ì•—ì„ ë†“ìœ¼ë©´ ë©ë‹ˆë‹¤."
+
+#: ../boards/babymatch.xml.in.h:1 ../boards/babymatch/board1_0.xml.in.h:1
+#: ../boards/babymatch/board2_0.xml.in.h:1
+#: ../boards/babymatch/board3_0.xml.in.h:1
+#: ../boards/babymatch/board4_0.xml.in.h:1
+#: ../boards/babymatch/board5_0.xml.in.h:1
+#: ../boards/babymatch/board6_0.xml.in.h:1
+#: ../boards/babymatch/board7_0.xml.in.h:1
+msgid "Drag and Drop the items to make them match"
+msgstr "ì™¼ìª½ì˜ ê·¸ë¦¼ì„ ì•Œë§žëŠ” 그림 ì•„ëž˜ì˜ ì ì— ëŒì–´ 놓기"
+
+#: ../boards/babymatch.xml.in.h:2
+msgid ""
+"In the main board area, a set of objects is displayed. In the vertical box "
+"(at the left of the main board) another set of objects is shown, each object "
+"in the group on the left matching exactly one object in the main board area. "
+"This game challenges you to find the logical link between these objects. How "
+"do they fit together? Drag each object to the correct red space in the main "
+"area."
+msgstr ""
+"ë©”ì¸ ë³´ë“œ 지역ì—ì„œ ë¬¼ì²´ë“¤ì´ í‘œì‹œë©ë‹ˆë‹¤. ë©”ì¸ ë³´ë“œ ì™¼ìª½ì˜ ì„¸ë¡œ 모양 박스ì—는 "
+"다른 ë¬¼ì²´ë“¤ì´ í‘œì‹œë©ë‹ˆë‹¤. ì™¼ìª½ì˜ ê° ë¬¼ì²´ë“¤ì€ ì •í™•ì´ ë©”ì¸ ë³´ë“œ ì§€ì—­ì˜ í•œë¬¼ì²´"
+"와 ì§ì´ 맞습니다. ì´ ê²Œìž„ì€ ë‹¹ì‹ ì—ì„œ 물체사ì´ì˜ 논리ì ì¸ 관계를 찾게 합니다. "
+"어떻게 맞출까요? ê° ë¬¼ì²´ë¥¼ ëŒì–´ì„œ ë©”ì¸ ì§€ì—­ì˜ ì ì ˆí•œ 빨간 ê³µê°„ì— ë†“ìœ¼ì„¸ìš”."
+
+#: ../boards/babymatch.xml.in.h:3
+msgid "Matching Items"
+msgstr "서로 맞는 ì•„ì´í…œë“¤"
+
+#: ../boards/babymatch.xml.in.h:4
+msgid "Motor coordination. Conceptual matching."
+msgstr "모터 대등관계. ê°œë…ì  ì•Œë§žìŒ."
+
+#: ../boards/babymatch.xml.in.h:5
+msgid "Mouse manipulation: movement, drag and drop. Cultural references."
+msgstr "마우스 ì¡°ìž‘: 움ì§ìž„, ëŒì–´ì„œ 놓기. "
+
+#: ../boards/babyshapes.xml.in.h:1
+msgid "Complete the puzzle"
+msgstr "í¼ì¦ì„ 완성하세요"
+
+#: ../boards/babyshapes.xml.in.h:2
+msgid ""
+"Complete the puzzle by dragging each piece from the set of pieces on the "
+"left, to the matching space in the puzzle."
+msgstr "ì™¼ìª½ì˜ ì¡°ê°ì„ ì•Œë§žì€ í¼ì¦ì˜ ì¡°ìž‘ì— ëŒì–´ë†“ì•„ì„œ í¼ì¦ì„ 푸세요."
+
+#: ../boards/babyshapes.xml.in.h:3
+msgid "Drag and Drop the shapes on their respective targets"
+msgstr "ëª¨ì–‘ë“¤ì„ ê°ìžì˜ í‘œì ì— ëŒì–´ë†“으세요."
+
+#: ../boards/babyshapes.xml.in.h:4
+msgid "Good mouse-control"
+msgstr "ì¢‹ì€ ë§ˆìš°ìŠ¤ ì¡°ìž‘"
+
+#: ../boards/babyshapes.xml.in.h:5
+msgid "The dog is provided by Andre Connes and released under the GPL"
+msgstr "개는 Andre Connesì˜í•´ 제공ë˜ê³  GPL 아래 풀러집니다."
+
+#: ../boards/babyshapes/board5_0.xml.in.h:1
+msgid "Hello ! My name is Lock."
+msgstr "안녕! ë‚´ ì´ë¦„ì€ ë½ì´ì•¼."
+
+#: ../boards/babyshapes/board6_0.xml.in.h:1
+msgid "Lock on the grass."
+msgstr "ìž”ë””ìœ„ì˜ ìžë™ì¶”ì ."
+
+#: ../boards/babyshapes/board7_0.xml.in.h:1
+msgid "Lock with colored shapes."
+msgstr "ìƒ‰ì¹ ëœ ëª¨ì–‘ì„ ìž¡ìœ¼ì„¸ìš”."
+
+#: ../boards/ballcatch.xml.in.h:1
+msgid "Make the ball go to Tux"
+msgstr "ê³µì´ Tuxì—게 ê°€ë„ë¡ í•˜ì„¸ìš”."
+
+#: ../boards/ballcatch.xml.in.h:2
+msgid ""
+"Press the two shift keys at the same time, to make the ball go in a straight "
+"line."
+msgstr "ë‘ ê°œì˜ Shift키를 ë™ì‹œì— 누르면, ê³µì„ ì§ì„ ìœ¼ë¡œ 가게 할수 있습니다."
+
+#: ../boards/bargame.xml.in.h:1
+msgid "Brain"
+msgstr "뇌"
+
+#: ../boards/bargame.xml.in.h:2
+msgid "Don't use the last ball"
+msgstr "마지막 ê³µì„ ì‚¬ìš©í•˜ì§€ë§ˆì„¸ìš”"
+
+#: ../boards/bargame.xml.in.h:3 ../boards/hexagon.xml.in.h:2
+msgid "Logic-training activity"
+msgstr "논리 훈련 활ë™"
+
+#: ../boards/bargame.xml.in.h:4
+msgid ""
+"Place balls in the holes. You win if the computer has to place the last "
+"ball. If you want Tux to begin, just click on him."
+msgstr ""
+"ê³µì„ êµ¬ë©ì— 넣으세요. ë‹¹ì‹ ì€ ì»´í“¨í„°ê°€ 마지막 ê³µì„ ìœ„ì¹˜í•˜ê²Œ ë˜ë©´ ì´ê¹ë‹ˆë‹¤. 만"
+"약 Tuxê°€ 시작하길 ì›í•˜ë©´, 그를 í´ë¦­í•˜ì„¸ìš”"
+
+#: ../boards/bargame.xml.in.h:5
+msgid "bar game"
+msgstr "바 게임"
+
+#: ../boards/billard.xml.in.h:1
+msgid "Kick the ball into the black hole on the right"
+msgstr "ê³µì„ ì˜¤ë¥¸ìª½ì˜ ê²€ì€ êµ¬ë©ì— 넣으세요"
+
+#: ../boards/billard.xml.in.h:2
+msgid "Kick the ball into the goal"
+msgstr "ê³¨ì— ê³µì„ ë„£ìœ¼ì„¸ìš”"
+
+#: ../boards/billard.xml.in.h:3 ../boards/chess_computer.xml.in.h:2
+#: ../boards/chess_movelearn.xml.in.h:3 ../boards/chess_partyend.xml.in.h:2
+#: ../boards/clickgame.xml.in.h:16 ../boards/connect4.xml.in.h:6
+#: ../boards/erase.xml.in.h:3 ../boards/erase_clic.xml.in.h:6
+#: ../boards/erase_double_clic.xml.in.h:6 ../boards/fifteen.xml.in.h:2
+#: ../boards/hanoi.xml.in.h:3 ../boards/memory.xml.in.h:4
+#: ../boards/tangram.xml.in.h:8
+msgid "Mouse-manipulation"
+msgstr "마우스 조작"
+
+#: ../boards/billard.xml.in.h:4
+msgid ""
+"Point the mouse and click on the ball, to set the speed and direction of the "
+"ball. The closer you click to the centre, the slower the ball moves."
+msgstr ""
+"Point the mouse and click on the ball, to set the speed and direction of the "
+"ball. The closer you click to the centre, the slower the ball moves."
+
+#: ../boards/billard.xml.in.h:5
+msgid "The football game"
+msgstr "축구게임"
+
+#: ../boards/canal_lock.xml.in.h:1
+msgid "Operate a canal lock"
+msgstr "ìš´í•˜ì˜ ìˆ˜ë¬¸ì„ ì¡°ì •í•˜ì„¸ìš”"
+
+#: ../boards/canal_lock.xml.in.h:2
+msgid ""
+"Tux is in trouble, and needs to take his boat through a lock. Help Tux and "
+"find out how a canal lock works."
+msgstr ""
+"Tuxì—게 문제가 ìƒê²¼ìŠµë‹ˆë‹¤. ê·¸ì˜ ë³´íŠ¸ëŠ” ìˆ˜ë¬¸ì„ í†µí•´ 지나가야 합니다. Tux를 ë„와주"
+"ê³  어떻게 ìˆ˜ë¬¸ì´ ë™ìž‘하는지 알아내세요."
+
+#: ../boards/canal_lock.xml.in.h:3
+msgid ""
+"You are in charge of the canal lock. Open the gates and the locks in the "
+"right order, so Tux can travel through the gates in both directions."
+msgstr ""
+"ë‹¹ì‹ ì€ ìˆ˜ë¬¸ 담당입니다. ìˆ˜ë¬¸ì„ ë°”ë¥¸ 순서대로 ì—´ì–´ì„œ Tuxê°€ 여행할수 있게 만드"
+"세요"
+
+#: ../boards/chess.xml.in.h:1 ../boards/chess_computer.xml.in.h:3
+msgid "Play chess against the computer in a learning mode"
+msgstr "연습 모드ì—ì„œ 컴퓨터와 체스를 하세요"
+
+#: ../boards/chess.xml.in.h:2
+msgid "Practice chess"
+msgstr "연습 체스"
+
+#: ../boards/chess_computer.xml.in.h:1 ../boards/chess_movelearn.xml.in.h:2
+#: ../boards/chess_partyend.xml.in.h:1
+msgid "Learning chess"
+msgstr "체스 배우기"
+
+#: ../boards/chess_computer.xml.in.h:4 ../boards/chess_movelearn.xml.in.h:4
+#: ../boards/chess_partyend.xml.in.h:4
+msgid "The chess engine is from gnuchess."
+msgstr "체스 ì—”ì§„ì€ GNU체스ì—ì„œ 왔습니다."
+
+#: ../boards/chess_movelearn.xml.in.h:1
+msgid "Chess training. Catch the computer's pawns."
+msgstr "체스 트레ì´ë‹. ì»´í“¨í„°ì˜ í°ì„ 잡으세요"
+
+#: ../boards/chess_partyend.xml.in.h:3
+msgid "Play the end of the chess game against the computer"
+msgstr "컴퓨터를 ìƒëŒ€ë¡œ ì²´ìŠ¤ê²Œìž„ì„ ë내세요"
+
+#: ../boards/chronos.xml.in.h:1
+msgid "Chronos"
+msgstr "그림으로 ì´ì•¼ê¸° 만들기"
+
+#: ../boards/chronos.xml.in.h:2
+msgid "Drag and Drop the items to organize the story"
+msgstr "ì•„ì´í…œì„ ì´ì•¼ê¸°ë¥¼ 만들기 위해 ëŒì–´ë†“으세요"
+
+#: ../boards/chronos.xml.in.h:3
+msgid ""
+"Moon photo is copyright NASA. The space sounds come from Tuxpaint and "
+"Vegastrike which are released under the GPL license. The transportation "
+"images are copyright Franck Doucet. Dates of Transportation are based on "
+"those found in &lt;http://www.wikipedia.org&gt;."
+msgstr ""
+"ë‹¬ì˜ ì‚¬ì§„ì€ NASAì— ì €ìž‘ê¶Œì´ ìžˆìŠµë‹ˆë‹¤. 우주소리는 GPLë¼ì´ì„¼ìŠ¤í•˜ì— 있습니다.ìš´"
+"송 수단ì´ë¯¸ì§€ëŠ” Franck Doucetì— ì €ìž‘ê¶Œì´ ìžˆìŠµë‹ˆë‹¤.. ìš´ì†¡ì˜ ë‚ ì§œëŠ” http://www."
+"wikipedia.orgì—ì„œ 왔습니다."
+
+#: ../boards/chronos.xml.in.h:4
+msgid "Pick from the pictures on the left and put them on the red dots"
+msgstr "ì™¼ìª½ì˜ ê·¸ë¦¼ì—ì„œ 꺼내서 빨간 ì ìœ„ì— ë†“ìœ¼ì„¸ìš”"
+
+#: ../boards/chronos.xml.in.h:5
+msgid "Sort the pictures into the order that tells the story"
+msgstr "ì´ì•¼ê¸°ì˜ ìˆœì„œì— ë§žê²Œ ê·¸ë¦¼ì„ ë°°ì—´í•˜ì„¸ìš”"
+
+#: ../boards/chronos.xml.in.h:6
+msgid "Tell a short story"
+msgstr "ì§§ì€ ì´ì•¼ê¸°ë¥¼ ë§í•´ì£¼ì„¸ìš”"
+
+#: ../boards/chronos/board1_0.xml.in.h:1
+msgid "Moonwalker"
+msgstr "ë‹¬ì„ ê±·ëŠ” 사람"
+
+#: ../boards/chronos/board1_1.xml.in.h:1
+msgid "Autumn"
+msgstr "ê°€ì„"
+
+#: ../boards/chronos/board1_1.xml.in.h:2
+msgid "Spring"
+msgstr "ë´„"
+
+#: ../boards/chronos/board1_1.xml.in.h:3
+msgid "Summer"
+msgstr "여름"
+
+#: ../boards/chronos/board1_1.xml.in.h:4
+msgid "The 4 Seasons"
+msgstr "사계절"
+
+#: ../boards/chronos/board1_1.xml.in.h:5
+msgid "Winter"
+msgstr "겨울"
+
+#: ../boards/chronos/board1_2.xml.in.h:1
+msgid "Gardening"
+msgstr "ì •ì›ì†ì§ˆ"
+
+#: ../boards/chronos/board2_0.xml.in.h:1
+msgid "Tux and the apple tree"
+msgstr "Tux와 사과나무"
+
+#: ../boards/chronos/board3_0.xml.in.h:1 ../boards/chronos/board3_2.xml.in.h:1
+#: ../boards/chronos/board3_4.xml.in.h:1 ../boards/chronos/board4_2.xml.in.h:1
+msgid "1769 Cugnot's fardier"
+msgstr "1769 ë…„ í€´ë‡¨ì˜ ë°œëª…í’ˆ "
+
+#: ../boards/chronos/board3_0.xml.in.h:2 ../boards/chronos/board3_3.xml.in.h:5
+#: ../boards/chronos/board3_4.xml.in.h:2
+msgid ""
+"1829 Stephenson's Rocket\n"
+"Steam locomotive"
+msgstr ""
+"1829ë…„ 스테펜ì†ì˜ 로켓\n"
+"ì¦ê¸° 기관차"
+
+#: ../boards/chronos/board3_0.xml.in.h:4
+msgid ""
+"Place each image in the order and\n"
+"on the date it was invented.\n"
+"If not sure, research online at wikipedia:\n"
+"&lt;http://www.wikipedia.org&gt;"
+msgstr ""
+"ê°ê°ì˜ ì´ë¯¸ì§€ë¥¼ ìˆœì„œì— ë§žê²Œ 놓으세요\n"
+"ë°œëª…ëœ ìˆœì„œë¥¼ ë”°ë¼ì„œ\n"
+"확실하지 않다면 위키피디아ì—ì„œ 찾아보세요\n"
+"&lt;http://www.wikipedia.org&gt;"
+
+#: ../boards/chronos/board3_0.xml.in.h:8 ../boards/chronos/board3_1.xml.in.h:6
+#: ../boards/chronos/board3_2.xml.in.h:5 ../boards/chronos/board3_3.xml.in.h:7
+#: ../boards/chronos/board3_4.xml.in.h:4
+msgid "Transportation"
+msgstr "운송"
+
+#: ../boards/chronos/board3_1.xml.in.h:1 ../boards/chronos/board3_3.xml.in.h:1
+msgid ""
+"1783 Montgolfier brothers'\n"
+"hot air balloon"
+msgstr ""
+"1783ë…„ 몬트골피아 형제ì˜'\n"
+"열기구"
+
+#: ../boards/chronos/board3_1.xml.in.h:3 ../boards/chronos/board3_2.xml.in.h:4
+#: ../boards/chronos/board3_4.xml.in.h:3 ../boards/chronos/board4_0.xml.in.h:1
+msgid "1880 Clement Ader's Eole"
+msgstr "1880ë…„ ì•„ë°ë¥´ì˜ ì—올레 단엽기"
+
+#: ../boards/chronos/board3_1.xml.in.h:4
+msgid ""
+"1906 Paul Cornu\n"
+"First helicopter flight"
+msgstr ""
+"1906ë…„ í´ í¬ë¥´ëˆ„ì˜\n"
+"첫 번째 헬리콥터 비행"
+
+#: ../boards/chronos/board3_2.xml.in.h:2 ../boards/chronos/board3_3.xml.in.h:3
+msgid ""
+"1791 Comte de Sivrac's\n"
+"Celerifere"
+msgstr ""
+"1791ë…„ 시브ë½ì˜\n"
+"ìžì „ê±°"
+
+#: ../boards/chronos/board4_0.xml.in.h:2
+msgid "1903 The Wright brothers' Flyer III"
+msgstr "1903ë…„ ë¼ì´íŠ¸ í˜•ì œì˜ í”Œë¼ì´ì–´ 3"
+
+#: ../boards/chronos/board4_0.xml.in.h:3
+msgid ""
+"1909 Louis Bleriot crosses\n"
+"the English Channel"
+msgstr ""
+"1909ë…„ 루ì´ìŠ¤ì˜\n"
+"ì˜êµ­ 해협 횡단"
+
+#: ../boards/chronos/board4_0.xml.in.h:5 ../boards/chronos/board4_1.xml.in.h:7
+msgid "Aviation"
+msgstr "í•­ê³µ"
+
+#: ../boards/chronos/board4_1.xml.in.h:1
+msgid ""
+"1927 Charles Lindbergh\n"
+"crosses the Atlantic Ocean"
+msgstr ""
+"1927ë…„ 찰리 린드버그ì˜\n"
+"대서양 횡단"
+
+#: ../boards/chronos/board4_1.xml.in.h:3
+#, fuzzy
+msgid ""
+"1934 Helene Boucher's\n"
+"speed record of 444km/h"
+msgstr ""
+"1934ë…„ 브처ì˜\n"
+"444km/h ì†ë„ 신기ë¡"
+
+#: ../boards/chronos/board4_1.xml.in.h:5
+msgid ""
+"1947 Chuck Yeager\n"
+"breaks the sound-barrier"
+msgstr ""
+"1947ë…„ ì´ê±°ì˜\n"
+"ìŒì† ëŒíŒŒ"
+
+#: ../boards/chronos/board4_2.xml.in.h:2
+#, fuzzy
+msgid "1878 Leon Bolle's \"La Mancelle\""
+msgstr "1878ë…„ La mancelle"
+
+#: ../boards/chronos/board4_2.xml.in.h:3
+msgid ""
+"1885 The first petrol\n"
+"car by Benz"
+msgstr "1885 ìµœì´ˆì˜ ìˆœì°° 벤츠가 만든 ì°¨"
+
+#: ../boards/chronos/board4_2.xml.in.h:5
+msgid "The car"
+msgstr "ìžë™ì°¨"
+
+#: ../boards/chronos/board4_3.xml.in.h:1
+msgid "1899 Renault \"voiturette\""
+msgstr "1899ë…„ ë¥´ë…¸ì˜ \"소형차\""
+
+#: ../boards/chronos/board4_3.xml.in.h:2
+msgid "1923 Lancia Lambda"
+msgstr "1923ë…„ ëž€ì‹œì•„ì˜ ëžŒë‹¤"
+
+#: ../boards/chronos/board4_3.xml.in.h:3
+#, fuzzy
+msgid "1955 Citroen ds 19"
+msgstr "1955 ì‹œíŠ¸ë¡œì•µì˜ 19"
+
+#: ../boards/chronos/board4_3.xml.in.h:4
+msgid "Cars"
+msgstr "차들"
+
+#: ../boards/click_on_letter.xml.in.h:1
+msgid ""
+"A letter is spoken. Click on the matching letter in the main area. You can "
+"listen to the letter again, by clicking on the mouth icon in the bottom box."
+msgstr ""
+"단어가 ë§í•´ì§‘니다. ë©”ì¸ ì§€ì—­ì—ì„œ 맞는 글씨를 ì„ íƒí•˜ì„¸ìš”. ë‹¹ì‹ ì€ ì•„ëž˜ìª½ 박스"
+"ì˜ ìž… ì•„ì´ì½˜ì„ í´ë¦­í•´ì„œ 다시 들ì„수 있습니다."
+
+#: ../boards/click_on_letter.xml.in.h:2
+msgid "Click on a letter"
+msgstr "글씨를 í´ë¦­í•˜ì„¸ìš”"
+
+#: ../boards/click_on_letter.xml.in.h:3
+msgid "Letter-name recognition"
+msgstr "글씨-ì´ë¦„ ì¸ì‹"
+
+#: ../boards/click_on_letter.xml.in.h:4
+msgid "Listen to a letter and click on the right one"
+msgstr "글ìžë¥¼ 듣고 ì˜¤ë¥¸ìª½ì— ìžˆëŠ” ê²ƒì„ í´ë¦­í•˜ì„¸ìš”"
+
+#: ../boards/click_on_letter.xml.in.h:5
+msgid "Visual letter-recognition. Can move the mouse."
+msgstr "ì‹œê°ì  글씨 ì¸ì‹. 마우스를 움ì§ì¼ìˆ˜ 있습니다."
+
+#: ../boards/clickgame.xml.in.h:1
+msgid "Click On Me"
+msgstr "물고기 í´ë¦­í•˜ê¸°"
+
+#: ../boards/clickgame.xml.in.h:2
+msgid ""
+"Fish are taken from the Unix utility xfishtank.\n"
+"Images are taken from the National Undersea Research Program (NURP) "
+"Collection\n"
+"at &lt;http://www.photolib.noaa.gov&gt;\n"
+"All image credits belong to the OAR/National Undersea Research Program "
+"(NURP),\n"
+"except for the first image, which is property of the University of North "
+"Carolina at Wilmington.\n"
+"The images used in each level are:\n"
+"Location: Tropical Atlantic Ocean, Florida Keys (image nur00523) "
+"Photographer: D. Kesling\n"
+"Location: Florida Keys (image nur03006)\n"
+"Location: Unknown (image nur03505)\n"
+"Location: Unknown (image nur03010)\n"
+"Location: Unknown (image nur03011)\n"
+"Location: Unknown (image nur03013)"
+msgstr ""
+"물고기는 유닉스 ìœ í‹¸ë¦¬í‹°ì¸ xfishtankì—ì„œ 왔습니다..\n"
+"ê·¸ë¦¼ë“¤ì€ NURP Collectionì—ì„œ 왔습니다.\n"
+"at &lt;http://www.photolib.noaa.gov&gt;\n"
+"모든 ì´ë¯¸ì§€ëŠ” NURPì— ì†í•©ë‹ˆë‹¤.\n"
+"the University of North Carolina at Wilmingtonì˜ ì†Œìœ ì˜ ì²«ë²ˆì§¸ ê·¸ë¦¼ì€ NURPì— "
+"ì†í•˜ì§€ 않습니다.\n"
+"ê° ë ˆë²¨ì— ì‚¬ìš©ëœ ì´ë¯¸ì§€:\n"
+"위치: 열대 대서양 (image nur00523) 사진작가: D. Kesling\n"
+"위치: 플로리다 (image nur03006)\n"
+"위치: 알려지지 ì•ŠìŒ (image nur03505)\n"
+"위치: 알려지지 ì•ŠìŒ (image nur03010)\n"
+"위치: 알려지지 ì•ŠìŒ (image nur03011)\n"
+"위치: 알려지지 ì•ŠìŒ (image nur03013)"
+
+#: ../boards/clickgame.xml.in.h:14
+msgid ""
+"Left-Click with the mouse on all the swimming fish before they leave the "
+"fishtank"
+msgstr "ë¬¼ê³ ê¸°ë“¤ì´ í™”ë©´ì„ ë‚˜ê°€ê¸° ì „ì— ì™¼ìª½ ë²„íŠ¼ì„ í´ë¦­í•˜ì„¸ìš”"
+
+#: ../boards/clickgame.xml.in.h:15
+msgid "Motor coordination: moving and clicking the mouse."
+msgstr "움ì§ì´ê³  í´ë¦­í•˜ì„¸ìš”."
+
+#: ../boards/clickgame.xml.in.h:17
+msgid "Use the left mouse button to click on the moving fish."
+msgstr "움ì§ì´ëŠ” 고기를 잡기위해 왼쪽 마우스 ë²„íŠ¼ì„ ì´ìš©í•´ì„œ í´ë¦­í•˜ì„¸ìš”."
+
+#: ../boards/clockgame.xml.in.h:1
+msgid ""
+"Distinguish between time-units (hour, minute and second). Set and display "
+"time on a clock."
+msgstr "ì‹œê°„ì˜ ë‹¨ìœ„(ì‹œ, 분 그리고 ì´ˆ). ì‹œê°„ì„ ë§žì¶°ì„œ 표시하세요."
+
+#: ../boards/clockgame.xml.in.h:2
+msgid "Learn how to tell the time"
+msgstr "ì‹œê³„ì˜ ì‹œì¹¨ê³¼ ë¶„ì¹¨ì„ ì•Œë§žëŠ” ì‹œê°„ì— ë§žì¶¥ë‹ˆë‹¤"
+
+#: ../boards/clockgame.xml.in.h:3
+msgid "Learning Clock"
+msgstr "시간 맞추기"
+
+#: ../boards/clockgame.xml.in.h:4
+msgid ""
+"Set the clock to the time given, in the time-units shown (hours:minutes or "
+"hours:minutes:seconds). Click on the different arrows, and move the mouse, "
+"to make the numbers go up or down."
+msgstr ""
+"시계를 주어진 시간(ì‹œ,분,ì´ˆ)ì— ë§žì¶”ì„¸ìš”). 다른 ë°”ëŠ˜ê³¼ì„ í´ë¦­í•˜ê³  ì‹œê°„ì„ ë§žì¶”"
+"기 위해 마우스를 움ì§ì´ì„¸ìš”."
+
+#: ../boards/clockgame.xml.in.h:5
+msgid "The concept of time. Reading the time."
+msgstr "ì‹œê°„ì˜ ê°œë…. ì‹œê°„ì„ ì½ìœ¼ì„¸ìš”."
+
+#: ../boards/colors.xml.in.h:1
+msgid "Can move the mouse."
+msgstr "마우스를 움ì§ì¼ìˆ˜ 있습니다."
+
+#: ../boards/colors.xml.in.h:2
+msgid "Click on the right color"
+msgstr "소리를 듣고 알맞는 ìƒ‰ì„ í´ë¦­í•˜ì„¸ìš”"
+
+#: ../boards/colors.xml.in.h:3
+msgid "Colors"
+msgstr "ìƒ‰ê¹”ì„ ë“£ê³  맞추기"
+
+#: ../boards/colors.xml.in.h:4
+msgid "Listen to the color and click on the matching duck."
+msgstr "컬러를 듣고 대ì‘ë˜ëŠ” 오리를 í´ë¦­í•˜ì„¸ìš”."
+
+#: ../boards/colors.xml.in.h:5
+msgid ""
+"This board teaches you to recognize different colors. When you hear the name "
+"of the color, click on the duck wearing it."
+msgstr ""
+"ì´ ë³´ë“œëŠ” 당신ì—게 다른 컬러를 ì¸ì§€í•˜ëŠ” ê²ƒì„ ê°€ë¥´ì³ì¤„ 것입니다. 컬러를 ë“¤ì€ "
+"다ìŒì— 오리가 ìž…ê³  있는 ê²ƒì„ í´ë¦­í•˜ì„¸ìš”."
+
+#: ../boards/colors_group.xml.in.h:1
+msgid "Colors based activities."
+msgstr "ìƒ‰ì— ê¸°ë°˜í•œ 활ë™ë“¤"
+
+#: ../boards/colors_group.xml.in.h:2
+msgid "Go to Color activities"
+msgstr "ìƒ‰ê¹”ì„ ì´ìš©í•œ 놀ì´"
+
+#: ../boards/computer.xml.in.h:1
+msgid "Discover the Computer"
+msgstr "기본장치를 ì´ìš©í•œ 간단한 게임"
+
+#: ../boards/computer.xml.in.h:2
+msgid "Play with computer peripherals."
+msgstr "키보드와 마우스를 ì´ìš©í•œ 게임."
+
+#: ../boards/connect4.xml.in.h:1
+msgid "Arrange four coins in a row"
+msgstr "4ê°œì˜ ì½”ì¸ì„ í–‰ì— ë°°ì—´í•˜ì„¸ìš”"
+
+#: ../boards/connect4.xml.in.h:2
+msgid "Click anywhere in the line where you want to drop a piece"
+msgstr "어디든지 ë‹¹ì‹ ì´ ë†“ê³  ì‹¶ì€ ê³³ì„ í´ë¦­í•˜ì„¸ìš”"
+
+#: ../boards/connect4.xml.in.h:3
+msgid "Connect 4"
+msgstr "ì—°ê²° 4"
+
+#: ../boards/connect4.xml.in.h:4
+#, fuzzy
+msgid ""
+"Create a line of 4 pieces either horizontally (lying down) or vertically "
+"(standing up)"
+msgstr ""
+"4ê°œì˜ ì¡°ê°ìœ¼ë¡œ ì´ë¤„진 수í‰ì¤„ì„ ë§Œë“œì„¸ìš”\n"
+"아니면 수ì§ì¤„"
+
+#: ../boards/connect4.xml.in.h:5
+msgid ""
+"Laurent Lacheny. Images and Artificial Intelligence taken from project "
+"4stattack by Jeroen Vloothuis. The original project can be found on &lt;"
+"http://forcedattack.sourceforge.net&gt;"
+msgstr ""
+"ì´ ì»¨í…츠는 ë‹¤ìŒ ì‚¬ì´íŠ¸ì—ì„œ 유래했습니다. &lt;http://forcedattack."
+"sourceforge.net&gt;"
+
+#: ../boards/crane.xml.in.h:1
+msgid "Build the same model"
+msgstr "ê°™ì€ ëª¨ì–‘ 만들기"
+
+#: ../boards/crane.xml.in.h:2
+msgid "Drive the crane and copy the model"
+msgstr "í¬ëž˜ì¸ì„ 조종해서 ê°™ì€ ëª¨ì–‘ì„ ë§Œë“œì„¸ìš”"
+
+#: ../boards/crane.xml.in.h:3 ../boards/erase.xml.in.h:2
+#: ../boards/erase_clic.xml.in.h:5 ../boards/erase_double_clic.xml.in.h:5
+msgid "Motor-coordination"
+msgstr "모터 코디네ì´ì…˜"
+
+#: ../boards/crane.xml.in.h:4 ../boards/hanoi_real.xml.in.h:2
+msgid "Mouse manipulation"
+msgstr "마우스 조작"
+
+#: ../boards/crane.xml.in.h:5
+msgid ""
+"Move the items in the bottom left frame to copy their position in the top "
+"right model. Below the crane itself, you will find four arrows that let you "
+"move items. To select the item to move, just click on it."
+msgstr ""
+"ì•„ì´í…œì„ 왼쪽 아래ì—ì„œ 위쪽 오른쪽으로 옮기세요. í¬ë ˆì¸ ë°‘ì—ì„œ ë‹¹ì‹ ì€ 4ê°œì˜ "
+"ì•„ì´í…œì„ 움ì§ì¼ìˆ˜ 있는 화살표를 발견하실수 있ì„ê²ë‹ˆë‹¤. 움ì§ì¼ ì•„ì´í…œì„ ì„ íƒí• "
+"려면 그냥 누르면 ë©ë‹ˆë‹¤."
+
+#: ../boards/discovery.xml.in.h:1
+msgid "Colors, sounds, memory..."
+msgstr "색깔, 소리, 기억..."
+
+#: ../boards/discovery.xml.in.h:2
+msgid "Go to discovery activities"
+msgstr "íƒêµ¬ 활ë™"
+
+#: ../boards/doubleentry.xml.in.h:1
+msgid "Basic counting skills"
+msgstr "기본 계산 기술"
+
+#: ../boards/doubleentry.xml.in.h:2
+msgid "Double-entry table"
+msgstr "표 채우기"
+
+#: ../boards/doubleentry.xml.in.h:3
+msgid "Drag and Drop each proposed item on its destination"
+msgstr "ì•„ì´í…œì„ 목ì ì§€ì— ëŒì–´ 놓으세요"
+
+#: ../boards/doubleentry.xml.in.h:4
+msgid "Drag and Drop the items in the double-entry table"
+msgstr "ê·¸ë¦¼ì„ í‘œì˜ ì•Œë§žì€ ìœ„ì¹˜ì— ëŒì–´ 놓으세요"
+
+#: ../boards/doubleentry.xml.in.h:5
+msgid ""
+"Move the items on the left to their proper position in the double-entry "
+"table."
+msgstr "ì•„ì´í…œì„ ë³µì‹ ê¸°ìž¥í‘œì— ì•Œë§žì€ ìœ„ì¹˜ì— ë†“ê¸°ìœ„í•´ 움ì§ì´ì„¸ìš”."
+
+#: ../boards/doubleentry/board3_0.xml.in.h:1
+msgid "Click on an item and listen to its target position"
+msgstr "ì•„ì´í…œì„ 누르고, ê·¸ 목ì ì§€ë¥¼ 귀로 들으세요."
+
+#: ../boards/draw.xml.in.h:1
+msgid "A creative board where you can draw freely"
+msgstr "ë‹¹ì‹ ì´ ìžìœ ë¡­ê²Œ 그릴수 있는 íŒ."
+
+#: ../boards/draw.xml.in.h:2
+msgid "A simple vector-drawing tool"
+msgstr "기본 벡터 그리기 ë„구"
+
+#: ../boards/draw.xml.in.h:3
+msgid ""
+"In this game, children can draw freely. The goal is to discover how to "
+"create attractive drawings based on basic shapes: rectangles, ellipses and "
+"lines."
+msgstr ""
+"ì´ ê²Œìž„ì—ì„œ ì•„ì´ë“¤ì€ ìžìœ ë¡­ê²Œ 그릴 수 있습니다. 목표는 어떻게 기본ë„형(ì§ì‚¬"
+"ê°í˜•, 곡선, ì§ì„ ë“±)ì„ ì´ìš©í•´ 아름다운 ê·¸ë¦¼ì„ ê·¸ë¦¬ëŠ” 것 입니다."
+
+#: ../boards/draw.xml.in.h:5
+msgid ""
+"Select a drawing tool on the left, and a color down the bottom, then click "
+"and drag in the white area to create a new shape. To save time, you can "
+"click with the middle mouse button to delete an object."
+msgstr ""
+"ì™¼ìª½ì˜ ê·¸ë¦¬ê¸° ë„구ì—ì„œ ë„구를, ë°‘ì—ì„œ ìƒ‰ê¹”ì„ ì„ íƒí•œë’¤ì— íŒì— 그리세요. 시간 "
+"ì ˆì•½ì„ ìœ„í•´ì„œ 마우스 ê°€ìš´ë° ë²„íŠ¼ì„ ë„í˜•ì„ ì§€ìš°ëŠ”ë° ì‚¬ìš©í• ìˆ˜ 있습니다."
+
+#: ../boards/electric.xml.in.h:1
+msgid "Create and simulate an electric schema"
+msgstr "전기 íšŒë¡œì˜ ê°œëžµì ì¸ ëª¨ìŠµì„ ë§Œë“¤ê³ , 테스트 하세요."
+
+#: ../boards/electric.xml.in.h:2
+msgid ""
+"Drag electrical components from the selector and drop them in the working "
+"area. Create wires by clicking on a connection spot, dragging the mouse to "
+"the next connection spot, and letting go. You can also move components by "
+"dragging them. You can delete wires by clicking on them. To delete a "
+"component, select the deletion tool on top of the component selector. You "
+"can click on the switch to open and close it. You can change the rheostat "
+"value by dragging its wiper. In order to simulate what happens when a bulb "
+"is blown, you can blown it by right-clicking on it. The simulation is "
+"updated in real time by any user action."
+msgstr ""
+"전기 회로 êµ¬ì„±í’ˆì„ ëŒì–´ì„œ 떨어뜨리세요. ì—°ê²° ì ì„ ì„ íƒí•œ 후 다른 ì ì— ì—°ê²°ì—"
+"ì„œ ë„ì„ ì„ ë§Œë“œì„¸ìš”. ë‹¹ì‹ ì€ ì—­ì‹œ ëŒì–´ë‹¹ê²¨ì„œë„ 움ì§ì¼ 수 있습니다. ë„ì„ ë„ í´ë¦­"
+"으로 지울수 있습니다. 회로 êµ¬ì„±í’ˆì€ êµ¬ì„±í’ˆ ë„구 ìœ„ìª½ì˜ ì œê±° ë„구를 ì´ìš©í•´ì„œ "
+"지울 수 있습니다. í´ë¦­ìœ¼ë¡œ 스위치를 ì—´ê³  ë‹«ì„ ìˆ˜ 있습니다. . ì €í•­ì˜ ì„¸ê¸°ëŠ” í™”"
+"살표를 ëŒì–´ë‹¹ê¹€ìœ¼ë¡œì„œ 조절할수 있습니다. 회로를 시험하기 위해서 오른쪽 í´ë¦­"
+"ì„ í•˜ë©´ ë©ë‹ˆë‹¤.테스트는 사용ìžì˜ ë°˜ì‘ì— ì‹¤ì‹œê°„ìœ¼ë¡œ 변합니다."
+
+#: ../boards/electric.xml.in.h:3
+msgid "Electricity"
+msgstr "전기"
+
+#: ../boards/electric.xml.in.h:4
+msgid "Freely create an electric schema with a real time simulation of it."
+msgstr "ìžìœ ë¡­ê²Œ 전기 회로를 만들고 테스트 할수 있습니다."
+
+#: ../boards/electric.xml.in.h:5
+msgid ""
+"GCompris uses the Gnucap electric simulator as a backend. You can get more "
+"information on gnucap at &lt;http://geda.seul.org/tools/gnucap/&gt;."
+msgstr ""
+"GCompris는 GNUCAPì˜ ì „ê¸° 회로 시뮬레ì´í„°ë¥¼ 기반으로 합니다. ë” ë§Žì€ ì •ë³´ëŠ” "
+"ì´ ê³³ì—ì„œ ì–»ì„ ìˆ˜ 있습니다.&lt;http://geda.seul.org/tools/gnucap/&gt;."
+
+#: ../boards/electric.xml.in.h:6
+msgid "Requires some basic understanding of the concept of electricity."
+msgstr "ì „ê¸°ì— ëŒ€í•œ 기초ì ì¸ ì´í•´ë¥¼ 필요로 합니다."
+
+#: ../boards/enumerate.xml.in.h:1
+msgid "Basic enumeration"
+msgstr "기초 계산"
+
+#: ../boards/enumerate.xml.in.h:2
+msgid "Count the items"
+msgstr "ì•„ì´í…œì„ 세기"
+
+#: ../boards/enumerate.xml.in.h:3
+msgid ""
+"First, properly organize the items so that you can count them. Then, select "
+"the item you want to answer in the bottom right area. Enter the answer with "
+"the keyboard and press the OK button or the 'Enter' key."
+msgstr ""
+"먼저, ë‹¹ì‹ ì´ ì…€ìˆ˜ 있는 ì•„ì´í…œì„ ì¡°ì§í•˜ì„¸ìš”. 그리고 오른쪽 아래ì—ì„œ 답하고 싶"
+"ì€ ì•„ì´í…œì„ ì„ íƒí•˜ì„¸ìš”. 키보드로 ë‹µì„ ì¹˜ê³  엔터를 누르거나 OKë²„íŠ¼ì„ ëˆ„ë¥´ì„¸ìš”."
+
+#: ../boards/enumerate.xml.in.h:4 ../boards/planegame.xml.in.h:5
+#: ../src/boards/enumerate.c:89
+msgid "Numeration training"
+msgstr "계산 훈련"
+
+#: ../boards/enumerate.xml.in.h:5 ../src/boards/enumerate.c:90
+msgid "Place the items in the best way to count them"
+msgstr "ì„¸ê¸°ì— ì œì¼ ì ë‹¹í•œ 방법으로 ì•„ì´í…œì„ 위치시키세요"
+
+#: ../boards/erase.xml.in.h:1
+msgid ""
+"Animal pictures are taken from the Animal Photography Page of Ralf Schmode "
+"(&lt;http://schmode.net/&gt;) and from LE BERRE Daniel. These people kindly "
+"gave GCompris the authorization to include their pictures. Thanks a lot, "
+"both of you."
+msgstr ""
+"ë™ë¬¼ ì‚¬ì§„ì€ ë™ë¬¼ 사진가 Ralf Schmodeì˜ ì›¹ì‚¬ì´íŠ¸ (&lt;http://schmode.net/&gt;)"
+"ì—ì„œ ì¸ìš©í–ˆìŠµë‹ˆë‹¤. ê°ì‚¬í•©ë‹ˆë‹¤."
+
+#: ../boards/erase.xml.in.h:4 ../src/boards/erase.c:113
+#: ../src/boards/machpuzzle.c:88
+msgid "Move the mouse"
+msgstr "마우스를 움ì§ì´ì„¸ìš”"
+
+#: ../boards/erase.xml.in.h:5 ../src/boards/erase.c:114
+msgid "Move the mouse to erase the area and discover the background"
+msgstr "ë¸”ëŸ­ì„ ì§€ìš°ê³  ë°°ê²½ì„ ë³´ê¸°ìœ„í•´ 마우스를 움ì§ì´ì„¸ìš”"
+
+#: ../boards/erase.xml.in.h:6
+msgid "Move the mouse until all the blocks disappear."
+msgstr "모든 ë¸”ëŸ­ì´ ì‚¬ë¼ì§ˆë•Œê¹Œì§€ 마우스를 움ì§ì´ì„¸ìš”."
+
+#: ../boards/erase_clic.xml.in.h:2
+msgid "Click the mouse"
+msgstr "마우스를 í´ë¦­í•˜ì„¸ìš”"
+
+#: ../boards/erase_clic.xml.in.h:3
+msgid "Click the mouse on rectangles until all the blocks disappear."
+msgstr "ì§ì‚¬ê°í˜•ì„ 모든 블ë¡ì´ 없어질때까지 í´ë¦­í•˜ì„¸ìš”."
+
+#: ../boards/erase_clic.xml.in.h:4
+msgid "Click the mouse to erase the area and discover the background"
+msgstr "ë¸”ëŸ­ì„ ì§€ìš°ê³  ë°°ê²½ì„ ë³´ê¸°ìœ„í•´ 마우스 왼쪽버튼으로 하얀 ë¸”ëŸ­ë“¤ì„ í´ë¦­í•˜ì„¸ìš”."
+
+#: ../boards/erase_double_clic.xml.in.h:2
+msgid "Double-Click the mouse to erase the area and discover the background"
+msgstr "ë¸”ëŸ­ì„ ì§€ìš°ê³  ë°°ê²½ì„ ë³´ê¸°ìœ„í•´ 마우스를 ë”블 í´ë¦­í•˜ì„¸ìš”."
+
+#: ../boards/erase_double_clic.xml.in.h:3
+msgid "Double-click the mouse"
+msgstr "마우스를 ë”블 í´ë¦­í•˜ì„¸ìš”."
+
+#: ../boards/erase_double_clic.xml.in.h:4
+msgid "Double-click the mouse on rectangles until all the blocks disappear."
+msgstr "모든 ë¸”ëŸ­ì´ ì—†ì–´ì§ˆë•Œê¹Œì§€ ì§ì‚¬ê°í˜•ì„ ë”블 í´ë¦­í•˜ì„¸ìš”"
+
+#: ../boards/experience.xml.in.h:1
+msgid "Go to experiential activities"
+msgstr "실험 활ë™"
+
+#: ../boards/experience.xml.in.h:2
+msgid "Various activities based on physical movement."
+msgstr "ë¬¼ë¦¬ì  ì›€ì§ìž„ì„ ë”°ë¥´ëŠ” 다양한 활ë™."
+
+#: ../boards/experimental.xml.in.h:1
+msgid "Go to Experimental activities"
+msgstr "실험 활ë™ìœ¼ë¡œ 갑니다."
+
+#: ../boards/experimental.xml.in.h:2
+msgid "Run gcompris --experimental to see this menu."
+msgstr "ì´ ë©”ë‰´ë¥¼ 보기위한 ì‹¤í—˜ì„ í•˜ê¸°ìœ„í•´ gcompris구ë™í•˜ì„¸ìš”."
+
+#: ../boards/fifteen.xml.in.h:1
+msgid ""
+"Click on any item that has a free block beside it, and it will be swapped "
+"with the empty block."
+msgstr "ì˜†ì— ìžìœ ë¡œìš´ 블ë¡ì´ 있는 블ë¡ì„ í´ë¦­í•´ì„œ, 빈 곳과 으로 보내세요."
+
+#: ../boards/fifteen.xml.in.h:3
+msgid ""
+"Move each item to make an increasing series: from the smallest to the largest"
+msgstr "ì•„ì´í…œë“¤ì„ ì¦ê°€í•˜ëŠ” 순서대로 움ì§ì´ì„¸ìš”."
+
+#: ../boards/fifteen.xml.in.h:4
+msgid "Original code taken from the libgnomecanvas demo"
+msgstr "ì›ë³¸ 코드는 llibnomecanvas demoì—ì„œ 왔습니다."
+
+#: ../boards/fifteen.xml.in.h:5
+msgid "The fifteen game"
+msgstr "ìˆ«ìž ë°°ì—´ 게임"
+
+#: ../boards/followline.xml.in.h:1
+msgid "Control the hose-pipe"
+msgstr "호스-파ì´í”„를 조절하세요"
+
+#: ../boards/followline.xml.in.h:2
+msgid "Fine motor coordination"
+msgstr "ì¢‹ì€ ëª¨í„° 코디네ì´ì…˜"
+
+#: ../boards/followline.xml.in.h:3
+msgid ""
+"Move the mouse over the red part of the hose-pipe. This will move it, "
+"bringing it, part by part, up to the flowers. Be careful, if you move off "
+"the hose, the red part will go back down."
+msgstr ""
+"호스-파ì´í”„ì˜ ë¶‰ì€ ë¶€ë¶„ì— ë§ˆìš°ìŠ¤ë¥¼ 움ì§ì´ì„¸ìš”. ì´ ê²ƒì´ ì›€ì§ì¼ 것입니다. 조심"
+"하세요. ë‹¹ì‹ ì´ í˜¸ìŠ¤ë¥¼ 떠나면 ë¶‰ì€ ë¶€ë¶„ì´ ë‚´ë ¤ê°ˆê²ë‹ˆë‹¤."
+
+#: ../boards/followline.xml.in.h:4
+msgid "Tux needs to water the flowers, but the hose is blocked."
+msgstr "Tux는 ê½ƒì„ ìœ„í•´ì„œ ë¬¼ì´ í•„ìš”í•©ë‹ˆë‹¤. 하지만 호스가 막혔습니다."
+
+#: ../boards/fun.xml.in.h:1
+msgid "Go to Amusement activities"
+msgstr "ì˜¤ë½ í™œë™"
+
+#: ../boards/fun.xml.in.h:2
+msgid "Various fun activities."
+msgstr "다양한 ì¦ê±°ìš´ 활ë™ë“¤."
+
+#: ../boards/gcompris/mimetypes/mime_type.xml.in.h:1
+msgid "gcompris animation"
+msgstr "gcompris 애니메ì´ì…˜"
+
+#: ../boards/gcompris/mimetypes/mime_type.xml.in.h:2
+msgid "gcompris drawing"
+msgstr "gcompris 그리기"
+
+#: ../boards/gcompris/mimetypes/mime_type.xml.in.h:3
+msgid "svg drawing"
+msgstr "svg 그리기"
+
+#: ../boards/gcompris/mimetypes/mime_type.xml.in.h:4
+msgid "svg mozilla animation"
+msgstr "svg ëª¨ì§ˆë¼ ì• ë‹ˆë©”ì´ì…˜"
+
+#: ../boards/geography.xml.in.h:1
+msgid "Drag and Drop the items to redraw the whole map"
+msgstr "ì§€í˜•ë“¤ì„ ì „ì²´ 지ë„를 완성하기 위해 ëŒì–´ 놓으세요"
+
+#: ../boards/geography.xml.in.h:2
+msgid "Locate the countries"
+msgstr "지형 맞추기 게임"
+
+#: ../boards/geography.xml.in.h:3
+msgid "Mouse manipulation: movement, drag and drop"
+msgstr "마우스 ì¡°ìž‘: 움ì§ìž„, ëŒì–´ 놓기."
+
+#: ../boards/geography.xml.in.h:4
+msgid ""
+"The map of Germany comes from Wikipedia and is released under the GNU Free "
+"Documentation License. Olaf Ronneberger and his children Lina and Julia "
+"Ronneberger created the German level."
+msgstr "ë…ì¼ ì§€ë„는 위키피디아ì—ì„œ 왔습니다."
+
+#: ../boards/geography/board1_0.xml.in.h:1
+#: ../boards/geography/board4_2.xml.in.h:1
+msgid "Africa"
+msgstr "아프리카"
+
+#: ../boards/geography/board1_0.xml.in.h:2
+msgid "America"
+msgstr "아메리카"
+
+#: ../boards/geography/board1_0.xml.in.h:3
+msgid "Antartica"
+msgstr "남극"
+
+#: ../boards/geography/board1_0.xml.in.h:4
+msgid "Asia"
+msgstr "아시아"
+
+#: ../boards/geography/board1_0.xml.in.h:5
+msgid "Continents"
+msgstr "대륙들"
+
+#: ../boards/geography/board1_0.xml.in.h:6
+msgid "Europe"
+msgstr "유럽"
+
+#: ../boards/geography/board1_0.xml.in.h:7
+msgid "Oceania"
+msgstr "오세아니아"
+
+#: ../boards/geography/board2_0.xml.in.h:1
+msgid "Alaska"
+msgstr "ì•Œë¼ìŠ¤ì¹´"
+
+#: ../boards/geography/board2_0.xml.in.h:2
+msgid "Bahamas"
+msgstr "바하마스"
+
+#: ../boards/geography/board2_0.xml.in.h:3
+msgid "Canada"
+msgstr "ìºë‚˜ë‹¤"
+
+#: ../boards/geography/board2_0.xml.in.h:4
+msgid "Cuba"
+msgstr "ì¿ ë°”"
+
+#: ../boards/geography/board2_0.xml.in.h:5
+msgid "Dominican Republic"
+msgstr "ë„미니칸 공화국"
+
+#: ../boards/geography/board2_0.xml.in.h:6
+msgid "Greenland"
+msgstr "그린랜드"
+
+#: ../boards/geography/board2_0.xml.in.h:7
+msgid "Haiti"
+msgstr "하ì´í‹°"
+
+#: ../boards/geography/board2_0.xml.in.h:8
+#: ../boards/geography/board3_0.xml.in.h:7
+msgid "Iceland"
+msgstr "ì•„ì´ìŠ¤ëžœë“œ"
+
+#: ../boards/geography/board2_0.xml.in.h:9
+msgid "Jamaica"
+msgstr "ìžë©”ì´ì¹´"
+
+#: ../boards/geography/board2_0.xml.in.h:10
+msgid "Mexico"
+msgstr "멕시코"
+
+#: ../boards/geography/board2_0.xml.in.h:11
+msgid "North America"
+msgstr "ë¶ ì•„ë©”ë¦¬ì¹´"
+
+#: ../boards/geography/board2_0.xml.in.h:12
+msgid "United States of America"
+msgstr "미국"
+
+#: ../boards/geography/board2_1.xml.in.h:1
+msgid "Argentina"
+msgstr "아르헨티나"
+
+#: ../boards/geography/board2_1.xml.in.h:2
+msgid "Bolivia"
+msgstr "볼리비아"
+
+#: ../boards/geography/board2_1.xml.in.h:3
+msgid "Brazil"
+msgstr "브ë¼ì§ˆ"
+
+#: ../boards/geography/board2_1.xml.in.h:4
+msgid "Chile"
+msgstr "ì¹ ë ˆ"
+
+#: ../boards/geography/board2_1.xml.in.h:5
+msgid "Colombia"
+msgstr "콜럼비아"
+
+#: ../boards/geography/board2_1.xml.in.h:6
+msgid "Ecuador"
+msgstr "ì—ì½°ë„르"
+
+#: ../boards/geography/board2_1.xml.in.h:7
+msgid "French Guiana"
+msgstr "기아나"
+
+#: ../boards/geography/board2_1.xml.in.h:8
+msgid "Guyana"
+msgstr "ê°€ì´ì•„나"
+
+#: ../boards/geography/board2_1.xml.in.h:9
+msgid "Panama"
+msgstr "파나마"
+
+#: ../boards/geography/board2_1.xml.in.h:10
+msgid "Paraguay"
+msgstr "파ë¼ê³¼ì´"
+
+#: ../boards/geography/board2_1.xml.in.h:11
+msgid "Peru"
+msgstr "페루"
+
+#: ../boards/geography/board2_1.xml.in.h:12
+msgid "South America"
+msgstr "남 아메리카"
+
+#: ../boards/geography/board2_1.xml.in.h:13
+msgid "Suriname"
+msgstr "수리남"
+
+#: ../boards/geography/board2_1.xml.in.h:14
+msgid "Uruguay"
+msgstr "우루과ì´"
+
+#: ../boards/geography/board2_1.xml.in.h:15
+msgid "Venezuela"
+msgstr "베네수엘ë¼"
+
+#: ../boards/geography/board3_0.xml.in.h:1
+msgid "Austria"
+msgstr "오스트리아"
+
+#: ../boards/geography/board3_0.xml.in.h:2
+msgid "Belgium"
+msgstr "벨기ì—"
+
+#: ../boards/geography/board3_0.xml.in.h:3
+msgid "Denmark"
+msgstr "ë´ë§ˆí¬"
+
+#: ../boards/geography/board3_0.xml.in.h:4
+msgid "Finland"
+msgstr "핀란드"
+
+#: ../boards/geography/board3_0.xml.in.h:5
+msgid "France"
+msgstr "프랑스"
+
+#: ../boards/geography/board3_0.xml.in.h:6
+msgid "Germany"
+msgstr "ë…ì¼"
+
+#: ../boards/geography/board3_0.xml.in.h:8
+msgid "Ireland"
+msgstr "ì•„ì¼ëžœë“œ"
+
+#: ../boards/geography/board3_0.xml.in.h:9
+msgid "Italy"
+msgstr "ì´íƒˆë¦¬ì•„"
+
+#: ../boards/geography/board3_0.xml.in.h:10
+msgid "Luxembourg"
+msgstr "룩셈부르í¬"
+
+#: ../boards/geography/board3_0.xml.in.h:11
+msgid "Norway"
+msgstr "노르웨ì´"
+
+#: ../boards/geography/board3_0.xml.in.h:12
+msgid "Portugal"
+msgstr "í¬ë¥´íˆ¬ê°ˆ"
+
+#: ../boards/geography/board3_0.xml.in.h:13
+msgid "Spain"
+msgstr "스페ì¸"
+
+#: ../boards/geography/board3_0.xml.in.h:14
+msgid "Sweden"
+msgstr "스웨ë´"
+
+#: ../boards/geography/board3_0.xml.in.h:15
+msgid "Switzerland"
+msgstr "스위스"
+
+#: ../boards/geography/board3_0.xml.in.h:16
+msgid "The Netherlands"
+msgstr "네ëœëž€ë“œ"
+
+#: ../boards/geography/board3_0.xml.in.h:17
+msgid "United Kingdom"
+msgstr "ì˜êµ­"
+
+#: ../boards/geography/board3_0.xml.in.h:18
+msgid "Western Europe"
+msgstr "서유럽"
+
+#: ../boards/geography/board3_1.xml.in.h:1
+msgid "Albania"
+msgstr "알바니아"
+
+#: ../boards/geography/board3_1.xml.in.h:2
+msgid "Belarus"
+msgstr "벨로루시"
+
+#: ../boards/geography/board3_1.xml.in.h:3
+msgid "Bosnia Herzegovina"
+msgstr "보스니아 헤르체고비나"
+
+#: ../boards/geography/board3_1.xml.in.h:4
+msgid "Bulgaria"
+msgstr "불가리아"
+
+#: ../boards/geography/board3_1.xml.in.h:5
+msgid "Croatia"
+msgstr "í¬ë¡œì•„í‹°ì•„"
+
+#: ../boards/geography/board3_1.xml.in.h:6
+msgid "Cyprus"
+msgstr "키프로스"
+
+#: ../boards/geography/board3_1.xml.in.h:7 ../src/gcompris/config.c:65
+msgid "Czech Republic"
+msgstr "ì²´ì½”"
+
+#: ../boards/geography/board3_1.xml.in.h:8
+msgid "Eastern Europe"
+msgstr "ë™ìœ ëŸ½"
+
+#: ../boards/geography/board3_1.xml.in.h:9
+msgid "Estonia"
+msgstr "ì—스토니아"
+
+#: ../boards/geography/board3_1.xml.in.h:10
+msgid "Greece"
+msgstr "그리스"
+
+#: ../boards/geography/board3_1.xml.in.h:11
+msgid "Hungary"
+msgstr "í—가리"
+
+#: ../boards/geography/board3_1.xml.in.h:12
+msgid "Latvia"
+msgstr "ë¼íŠ¸ë¹„ì•„"
+
+#: ../boards/geography/board3_1.xml.in.h:13
+msgid "Lithuania"
+msgstr "리투아니아"
+
+#: ../boards/geography/board3_1.xml.in.h:14
+msgid "Macedonia"
+msgstr "마케ë„니아"
+
+#: ../boards/geography/board3_1.xml.in.h:15
+msgid "Moldova"
+msgstr "몰ë„ë°”"
+
+#: ../boards/geography/board3_1.xml.in.h:16
+msgid "Poland"
+msgstr "í´ëž€ë“œ"
+
+#: ../boards/geography/board3_1.xml.in.h:17
+msgid "Romania"
+msgstr "로마니아"
+
+#: ../boards/geography/board3_1.xml.in.h:18
+msgid "Russia"
+msgstr "러시아"
+
+#: ../boards/geography/board3_1.xml.in.h:19
+msgid "Serbia Montenegro"
+msgstr "시베리아 몽테그로"
+
+#: ../boards/geography/board3_1.xml.in.h:20
+msgid "Slovak Republic"
+msgstr "슬로바키아"
+
+#: ../boards/geography/board3_1.xml.in.h:21
+msgid "Slovenia"
+msgstr "슬로베니아"
+
+#: ../boards/geography/board3_1.xml.in.h:22
+msgid "Turkey"
+msgstr "터키"
+
+#: ../boards/geography/board3_1.xml.in.h:23
+msgid "Ukraine"
+msgstr "ìš°í¬ë¼ì´ë‚˜"
+
+#: ../boards/geography/board4_0.xml.in.h:1
+#: ../boards/geography/board4_2.xml.in.h:2
+msgid "Algeria"
+msgstr "알제리"
+
+#: ../boards/geography/board4_0.xml.in.h:2
+#: ../boards/geography/board4_2.xml.in.h:4
+msgid "Benin"
+msgstr "베닌"
+
+#: ../boards/geography/board4_0.xml.in.h:3
+#: ../boards/geography/board4_2.xml.in.h:6
+msgid "Burkina Faso"
+msgstr "부르키나 파소"
+
+#: ../boards/geography/board4_0.xml.in.h:4
+#: ../boards/geography/board4_2.xml.in.h:7
+msgid "Cameroon"
+msgstr "카메론"
+
+#: ../boards/geography/board4_0.xml.in.h:5
+#: ../boards/geography/board4_2.xml.in.h:8
+msgid "Central African Republic"
+msgstr "중앙 아프리카 공화국"
+
+#: ../boards/geography/board4_0.xml.in.h:6
+#: ../boards/geography/board4_2.xml.in.h:9
+msgid "Chad"
+msgstr "차드"
+
+#: ../boards/geography/board4_0.xml.in.h:7
+msgid "Djibouti"
+msgstr "지부티"
+
+#: ../boards/geography/board4_0.xml.in.h:8
+#: ../boards/geography/board4_2.xml.in.h:11
+msgid "Egypt"
+msgstr "ì´ì§‘트"
+
+#: ../boards/geography/board4_0.xml.in.h:9
+#: ../boards/geography/board4_1.xml.in.h:5
+msgid "Equatorial Guinea"
+msgstr "ì ë„ 기니"
+
+#: ../boards/geography/board4_0.xml.in.h:10
+#: ../boards/geography/board4_2.xml.in.h:12
+msgid "Eritrea"
+msgstr "ì—리트레아"
+
+#: ../boards/geography/board4_0.xml.in.h:11
+#: ../boards/geography/board4_2.xml.in.h:13
+msgid "Ethiopia"
+msgstr "ì—티오피아"
+
+#: ../boards/geography/board4_0.xml.in.h:12
+#: ../boards/geography/board4_1.xml.in.h:6
+#: ../boards/geography/board4_2.xml.in.h:14
+msgid "Gabon"
+msgstr "가봉"
+
+#: ../boards/geography/board4_0.xml.in.h:13
+msgid "Gambia"
+msgstr "ê°ë¹„ì•„"
+
+#: ../boards/geography/board4_0.xml.in.h:14
+#: ../boards/geography/board4_2.xml.in.h:15
+msgid "Ghana"
+msgstr "가나"
+
+#: ../boards/geography/board4_0.xml.in.h:15
+#: ../boards/geography/board4_2.xml.in.h:16
+msgid "Guinea"
+msgstr "기니"
+
+#: ../boards/geography/board4_0.xml.in.h:16
+msgid "Guinea Bissau"
+msgstr "기니비사우"
+
+#: ../boards/geography/board4_0.xml.in.h:17
+#: ../boards/geography/board4_2.xml.in.h:17
+msgid "Ivory Coast"
+msgstr "코트디부아르"
+
+#: ../boards/geography/board4_0.xml.in.h:18
+#: ../boards/geography/board4_2.xml.in.h:19
+msgid "Liberia"
+msgstr "ë¼ì´ë² ë¦¬ì•„"
+
+#: ../boards/geography/board4_0.xml.in.h:19
+#: ../boards/geography/board4_2.xml.in.h:20
+msgid "Libya"
+msgstr "리비야"
+
+#: ../boards/geography/board4_0.xml.in.h:20
+#: ../boards/geography/board4_2.xml.in.h:23
+msgid "Mali"
+msgstr "ë§ë¦¬"
+
+#: ../boards/geography/board4_0.xml.in.h:21
+#: ../boards/geography/board4_2.xml.in.h:24
+msgid "Mauritania"
+msgstr "모리타니아"
+
+#: ../boards/geography/board4_0.xml.in.h:22
+#: ../boards/geography/board4_2.xml.in.h:25
+msgid "Morocco"
+msgstr "모로코"
+
+#: ../boards/geography/board4_0.xml.in.h:23
+#: ../boards/geography/board4_2.xml.in.h:28
+msgid "Niger"
+msgstr "니제르"
+
+#: ../boards/geography/board4_0.xml.in.h:24
+#: ../boards/geography/board4_2.xml.in.h:29
+msgid "Nigeria"
+msgstr "나ì´ì§€ë¦¬ì•„"
+
+#: ../boards/geography/board4_0.xml.in.h:25
+msgid "Northern Africa"
+msgstr "ë¶ ì•„í”„ë¦¬ì¹´"
+
+#: ../boards/geography/board4_0.xml.in.h:26
+#: ../boards/geography/board4_1.xml.in.h:14
+msgid "Rwanda"
+msgstr "르완다"
+
+#: ../boards/geography/board4_0.xml.in.h:27
+#: ../boards/geography/board4_2.xml.in.h:30
+msgid "Senegal"
+msgstr "세네갈"
+
+#: ../boards/geography/board4_0.xml.in.h:28
+msgid "Sierra Leone"
+msgstr "ì‹œì—ë¼ ë¦¬ì˜¨"
+
+#: ../boards/geography/board4_0.xml.in.h:29
+#: ../boards/geography/board4_2.xml.in.h:31
+msgid "Somalia"
+msgstr "소ë§ë¦¬ì•„"
+
+#: ../boards/geography/board4_0.xml.in.h:30
+msgid "Sudan"
+msgstr "수단"
+
+#: ../boards/geography/board4_0.xml.in.h:31
+#: ../boards/geography/board4_2.xml.in.h:35
+msgid "Togo"
+msgstr "토고"
+
+#: ../boards/geography/board4_0.xml.in.h:32
+#: ../boards/geography/board4_2.xml.in.h:36
+msgid "Tunisia"
+msgstr "튀니지"
+
+#: ../boards/geography/board4_0.xml.in.h:33
+#: ../boards/geography/board4_1.xml.in.h:19
+#: ../boards/geography/board4_2.xml.in.h:37
+msgid "Uganda"
+msgstr "우간다"
+
+#: ../boards/geography/board4_0.xml.in.h:34
+msgid "Western Sahara"
+msgstr "ì„œ 사하ë¼"
+
+#: ../boards/geography/board4_1.xml.in.h:1
+#: ../boards/geography/board4_2.xml.in.h:3
+msgid "Angola"
+msgstr "앙골ë¼"
+
+#: ../boards/geography/board4_1.xml.in.h:2
+#: ../boards/geography/board4_2.xml.in.h:5
+msgid "Botswana"
+msgstr "보츠와나"
+
+#: ../boards/geography/board4_1.xml.in.h:3
+msgid "Burundi"
+msgstr "부룬디"
+
+#: ../boards/geography/board4_1.xml.in.h:4
+#: ../boards/geography/board4_2.xml.in.h:10
+msgid "Democratic Republic of Congo"
+msgstr "콩고"
+
+#: ../boards/geography/board4_1.xml.in.h:7
+#: ../boards/geography/board4_2.xml.in.h:18
+msgid "Kenya"
+msgstr "ì¼€ëƒ"
+
+#: ../boards/geography/board4_1.xml.in.h:8
+msgid "Lesotho"
+msgstr "레소토"
+
+#: ../boards/geography/board4_1.xml.in.h:9
+#: ../boards/geography/board4_2.xml.in.h:21
+msgid "Madagascar"
+msgstr "마다가스카르"
+
+#: ../boards/geography/board4_1.xml.in.h:10
+#: ../boards/geography/board4_2.xml.in.h:22
+msgid "Malawi"
+msgstr "ë§ë¼ìœ„"
+
+#: ../boards/geography/board4_1.xml.in.h:11
+#: ../boards/geography/board4_2.xml.in.h:26
+msgid "Mozambique"
+msgstr "모잠비í¬"
+
+#: ../boards/geography/board4_1.xml.in.h:12
+#: ../boards/geography/board4_2.xml.in.h:27
+msgid "Namibia"
+msgstr "나미비아"
+
+#: ../boards/geography/board4_1.xml.in.h:13
+msgid "Republic of Congo"
+msgstr "콩고"
+
+#: ../boards/geography/board4_1.xml.in.h:15
+#: ../boards/geography/board4_2.xml.in.h:33
+msgid "South Africa"
+msgstr "남 아프리카"
+
+#: ../boards/geography/board4_1.xml.in.h:16
+msgid "Southern Africa"
+msgstr "남쪽 아프리카"
+
+#: ../boards/geography/board4_1.xml.in.h:17
+msgid "Swaziland"
+msgstr "스와질랜드"
+
+#: ../boards/geography/board4_1.xml.in.h:18
+#: ../boards/geography/board4_2.xml.in.h:34
+msgid "Tanzania"
+msgstr "탄ìžë‹ˆì•„"
+
+#: ../boards/geography/board4_1.xml.in.h:20
+#: ../boards/geography/board4_2.xml.in.h:38
+msgid "Zambia"
+msgstr "잠비아"
+
+#: ../boards/geography/board4_1.xml.in.h:21
+#: ../boards/geography/board4_2.xml.in.h:39
+msgid "Zimbabwe"
+msgstr "ì§ë°°ë¸Œìœ„"
+
+#: ../boards/geography/board4_2.xml.in.h:32
+msgid "Soudan"
+msgstr "수단"
+
+#: ../boards/geography/board5_0.xml.in.h:1
+msgid "Regions of France"
+msgstr "프랑스령"
+
+#: ../boards/geography/board6_0.xml.in.h:1
+#, fuzzy
+msgid "Deutschland Bundeslander"
+msgstr "ë„ì´ì¹ ëž€ë“œ"
+
+#: ../boards/geometry.xml.in.h:1
+msgid "Geometry"
+msgstr "기하학"
+
+#: ../boards/geometry.xml.in.h:2
+msgid "Geometry activities."
+msgstr "기하학 활ë™."
+
+#: ../boards/gletters.xml.in.h:1 ../boards/wordsgame.xml.in.h:2
+msgid "Keyboard manipulation"
+msgstr "키보드 조작"
+
+#: ../boards/gletters.xml.in.h:2
+msgid "Letter association between the screen and the keyboard"
+msgstr "키보드와 모니터 사ì´ì˜ 글씨 ì¡°í•©"
+
+#: ../boards/gletters.xml.in.h:3 ../src/boards/gletters.c:134
+msgid "Simple Letters"
+msgstr "떨어지는 알파벳"
+
+#: ../boards/gletters.xml.in.h:4 ../src/boards/gletters.c:135
+msgid "Type the falling letters before they reach the ground"
+msgstr "ë•…ì— ë‹¿ê¸° ì „ì— ë–¨ì–´ì§€ëŠ” 글ìžë“¤ì„ 치세요"
+
+#: ../boards/gnumch-equality.xml.in.h:1
+msgid "Equality Number Munchers"
+msgstr "ê°™ì€ ìˆ«ìž ë¨¹ê¸°"
+
+#: ../boards/gnumch-equality.xml.in.h:2
+msgid ""
+"Guide the Number Muncher to the expressions that equal the number at the top "
+"of the screen."
+msgstr "화면 ìœ„ìª½ì˜ ìˆ«ìžì™€ ê°™ì€ ìˆ˜ë¥¼ 제시하세요."
+
+#: ../boards/gnumch-equality.xml.in.h:3
+msgid "Practice addition, multiplication, division and subtraction."
+msgstr "4칙 연산 연습."
+
+#: ../boards/gnumch-equality.xml.in.h:4 ../boards/gnumch-inequality.xml.in.h:4
+msgid ""
+"Use the arrow keys to navigate around the board and to avoid the Troggles. "
+"Press the spacebar to eat a number."
+msgstr "ê´´ë¬¼ì„ í”¼í•˜ê¸° 위해 화살표로 움ì§ì´ì„¸ìš”. 스페ì´ìŠ¤ë°”ë¡œ 숫ìžë¥¼ 먹으세요."
+
+#: ../boards/gnumch-factors.xml.in.h:1
+msgid "Factor Number Munchers"
+msgstr "약수 먹기"
+
+#: ../boards/gnumch-factors.xml.in.h:2
+msgid ""
+"Guide the Number Muncher to all the factors of the number at the top of the "
+"screen."
+msgstr "화면 ìœ„ìª½ì˜ ìˆ«ìžì˜ 약수를 제시하세요."
+
+#: ../boards/gnumch-factors.xml.in.h:3
+msgid "Learn about factors and multiples."
+msgstr "약수와 ê³±í•˜ê¸°ì— ëŒ€í•´ì„œ ë°°ì›ë‹ˆë‹¤."
+
+#: ../boards/gnumch-factors.xml.in.h:4
+msgid ""
+"The factors of a number are all the numbers that divide that number evenly. "
+"For example, the factors of 6 are 1, 2, 3 and 6. 4 is not a factor of 6 "
+"because 6 cannot be divided into 4 equal pieces. If one number is a multiple "
+"of a second number, then the second number is a factor of the first number. "
+"You can think of multiples as families, and factors are the people in those "
+"families. So 1, 2, 3 and 6 all fit into the 6 family, but 4 belongs to "
+"another family. Use the arrow keys to navigate around the board and to avoid "
+"the Troggles. Press the spacebar to eat a number."
+msgstr ""
+"약수는 ì›ëž˜ 수를 나눌수 있는 수 입니다. 6ì˜ ì•½ìˆ˜ë¡œëŠ” 1,2,3,6 ì´ ìžˆê³ , 4는 약"
+"수가 아닙니다. If one number is a multiple of a second number, then the "
+"second number is a factor of the first number. You can think of multiples as "
+"families, and factors are the people in those families. So 1, 2, 3 and 6 all "
+"fit into the 6 family, but 4 belongs to another family. Use the arrow keys "
+"to navigate around the board and to avoid the Troggles. Press the spacebar "
+"to eat a number."
+
+#: ../boards/gnumch-inequality.xml.in.h:1
+msgid ""
+"Guide the Number Muncher to the all the expressions that do not equal the "
+"number at the top of the screen."
+msgstr "화면 ìœ„ìª½ì˜ ìˆ«ìžì™€ 같지 ì•Šì€ ëª¨ë“  í‘œí˜„ì„ ì œì‹œí•˜ì„¸ìš”.."
+
+#: ../boards/gnumch-inequality.xml.in.h:2
+msgid "Inequality Number Munchers"
+msgstr "등ì‹ì— 맞는 수 먹기"
+
+#: ../boards/gnumch-inequality.xml.in.h:3
+msgid "Practice addition, subtraction, multiplication and division."
+msgstr "4칙 연산 연습."
+
+#: ../boards/gnumch-multiples.xml.in.h:1
+msgid ""
+"Guide the Number Muncher to all the multiples of the number at the top of "
+"the screen."
+msgstr "화면 위쪽 숫ìžì˜ 모든 ê³±ì„ ì œì‹œí•˜ì„¸ìš”."
+
+#: ../boards/gnumch-multiples.xml.in.h:2
+msgid "Learn about multiples and factors."
+msgstr "약수와 ê³±í•˜ê¸°ì— ëŒ€í•´ì„œ ë°°ì›ë‹ˆë‹¤.."
+
+#: ../boards/gnumch-multiples.xml.in.h:3
+msgid "Multiple Number Munchers"
+msgstr "곱하는 수 먹기"
+
+#: ../boards/gnumch-multiples.xml.in.h:4
+msgid ""
+"The multiples of a number are all the numbers that are equal to the original "
+"number times another number. For example, 24, 36, 48 and 60 are all "
+"multiples of 12. 25 is not a multiple of 12 because there isn't any number "
+"that can be multiplied by 12 to get 25. If one number is a factor of a "
+"second number, then the second number is a multiple of the first number. "
+"Again, you can think of multiples as families, and factors are the people "
+"who belong to those families. The factor 5, has parents 10, grandparents 15, "
+"great-grandparents 20, great-great-grandparents 25, and every extra step of "
+"5 is another great- in front! But the number 5 does not belong in the 8 or "
+"23 families. You can't fit any number of 5s into 8 or 23 with nothing left "
+"over. So '8 isn't a multiple of 5, nor is 23. Only 5, 10, 15, 20, 25 ... are "
+"multiples (or families or steps) of 5. Use the arrow keys to navigate around "
+"the board and to avoid the Troggles. Press the spacebar to eat a number."
+msgstr ""
+"곱해진 수는 ì›ëž˜ 수로 나눠집니다. 예를 들면 24,48, 그리고 60ì€ 12ë¡œ 나눠집니"
+"다. 25는 12ë¡œ 나눠지기 ë•Œë¬¸ì— ê³±í•´ì§„ 수가 아닙니다. 하나 씩 ë”í•´ë³´ë©´ ê·¸ 곱해"
+"진 수가 나옵니다. ê´´ë¬¼ì„ í”¼í•˜ë©´ì„œ 스페ì´ìŠ¤ 바를 ì´ìš©í•´ 먹으세요."
+
+#: ../boards/gnumch-primes.xml.in.h:1
+msgid "Guide the Number Muncher to all the prime numbers."
+msgstr "모든 ì†Œìˆ˜ì— ëŒ€í•œ ê²ƒì„ ì œì‹œí•˜ì„¸ìš”."
+
+#: ../boards/gnumch-primes.xml.in.h:2
+msgid "Learn about prime numbers"
+msgstr "ì†Œìˆ˜ì— ëŒ€í•´ì„œ ë°°ì›ë‹ˆë‹¤."
+
+#: ../boards/gnumch-primes.xml.in.h:3
+msgid "Prime Number Munchers"
+msgstr "소수를 먹기"
+
+#: ../boards/gnumch-primes.xml.in.h:4
+#, fuzzy
+msgid ""
+"Prime numbers are numbers that are only divisible by themselves and 1. For "
+"example, 3 is a prime number, but 4 isn't (because 4 is divisible by 2). You "
+"can think of prime numbers as very small families: they only ever have two "
+"people in them! Only themselves and 1. You can't fit any other numbers into "
+"them with nothing left over. 5 is one of these lonely numbers (only 5 × 1 = "
+"5), but you can see that 6 has 2 and 3 in its family as well (6 × 1 = 6, 2 × "
+"3 = 6). So 6 is not a prime number. Use the arrow keys to navigate around "
+"the board and to avoid the Troggles. Press the spacebar to eat a number."
+msgstr ""
+"소수는 ìžê¸° ìžì‹ ê³¼ 1로만 나눠지는 수입니다. 예를 들면 3ì€ ì†Œìˆ˜ì§€ë§Œ 4는 소수"
+"ê°€ 아닙니다. 5ë„ ì†Œìˆ˜ì§€ë§Œ 6ì€ ì†Œìˆ˜ê°€ 아닙니다. 화살표를 ì´ìš©í•´ ê´´ë¬¼ì„ í”¼í•˜ë©´"
+"ì„œ 소수를 스페ì´ìŠ¤ 바로 먹으세요."
+
+#: ../boards/gnumchmenu.xml.in.h:1
+msgid "Go to Number Munchers activities"
+msgstr "ìˆ«ìž ë¨¹ê¸° 활ë™ìœ¼ë¡œ 갑니다."
+
+#: ../boards/gnumchmenu.xml.in.h:2
+msgid "Number Munchers are games to play with arithmetic."
+msgstr "ìˆ«ìž ë¨¹ê¸°ëŠ” 계산으로 ì´ë£¨ì–´ 집니다.."
+
+#: ../boards/guessnumber.xml.in.h:1
+msgid "Guess a number"
+msgstr "숫ìžë¥¼ 추측하세요"
+
+#: ../boards/guessnumber.xml.in.h:2
+msgid "Help Tux escape the cave. Tux hides a number for you to find."
+msgstr ""
+"Tux를 ë™êµ´ ë°–ì—ì„œ 나가ë„ë¡ ë„와주세요. Tux는 ë‹¹ì‹ ì´ ì°¾ì„ ìˆ«ìžë¥¼ 숨겼습니다."
+
+#: ../boards/guessnumber.xml.in.h:3
+msgid "Numbers from 1 to 1000 for the last level."
+msgstr "마지막 ë ˆë²¨ì„ ìœ„í•œ 1부터 1000ê¹Œì§€ì˜ ìˆ«ìž "
+
+#: ../boards/guessnumber.xml.in.h:4
+msgid ""
+"Read the instructions that give you the range of the number to find. Enter a "
+"number in the top right blue entry box. Tux will tell you if your number is "
+"higher or lower. Then enter another number. The distance between Tux and the "
+"escape area on the right represents how far you are from the correct number. "
+"If Tux is over or under the escape area, it means your number is over or "
+"under the correct number."
+msgstr ""
+"ë‹¹ì‹ ì´ ì°¾ì„ ìˆ˜ì˜ ë²”ìœ„ë¥¼ 지정해주는 ê°€ì´ë“œë¥¼ ì½ìœ¼ì„¸ìš”. 숫ìžë¥¼ 오른쪽 ìœ„ì˜ íŒŒ"
+"란 ë°•ìŠ¤ì— ë„£ìœ¼ì„¸ìš”. Tuxê°€ 찾는 수보다 í°ì§€, ìž‘ì€ì§€ ê°€ë¥´ì³ ì¤„ê²ƒìž…ë‹ˆë‹¤. 그럼 다"
+"른 숫ìžë¥¼ 넣으세요. Tux와 탈출 ì§€ì—­ì˜ ê±°ë¦¬ëŠ” ë‹¹ì‹ ì´ ì–¼ë§ˆë‚˜ ê·¸ 숫ìžì— 가까운지"
+"와 같습니다. Tuxê°€ 탈출 지역 위 ë˜ëŠ” ì•„ëž˜ì— ìžˆë‹¤ë©´ ë‹¹ì‹ ì˜ ìˆ˜ê°€ 찾는 수보다 "
+"위 ë˜ëŠ” ì•„ëž˜ì— ìžˆë‹¤ëŠ” 것입니다."
+
+#: ../boards/hanoi.xml.in.h:1
+msgid "Concept taken from EPI games."
+msgstr "ê°œë…ì€ EPI 게임ì—ì„œ 왔습니다."
+
+#: ../boards/hanoi.xml.in.h:2
+msgid ""
+"Drag and Drop one top piece at a time, from one peg to another, to reproduce "
+"the tower on the right in the empty space on the left."
+msgstr ""
+"í•œ ë²ˆì— ìœ„ìª½ì— ìžˆëŠ” ì¡°ê°ì„ ëŒì–´ 놓으십시오. ì˜¤ë¥¸ìª½ì— ìžˆëŠ” íƒ‘ì„ ì™¼ìª½ì˜ ë¹ˆê³µê°„"
+"으로 옮기기 위해서."
+
+#: ../boards/hanoi.xml.in.h:4 ../src/boards/hanoi.c:97
+msgid "Reproduce the given tower"
+msgstr "주어진 íƒ‘ì„ ì˜®ê¸°ì„¸ìš”."
+
+#: ../boards/hanoi.xml.in.h:5
+msgid "Reproduce the tower on the right in the empty space on the left"
+msgstr "ì˜¤ë¥¸ìª½ì˜ íƒ‘ì„ ì™¼ìª½ì˜ ë¹ˆê³µê°„ìœ¼ë¡œ 옮기세요."
+
+#: ../boards/hanoi.xml.in.h:6 ../src/boards/hanoi.c:96
+msgid "Simplified Tower of Hanoi"
+msgstr "간단한 í•˜ë…¸ì´ íƒ‘"
+
+#: ../boards/hanoi_real.xml.in.h:1
+msgid ""
+"Drag and Drop the top pieces only from one peg to another, to reproduce the "
+"tower on the right in the empty space on the left."
+msgstr "íƒ‘ì˜ ìœ„ìª½ ì¡°ê°ì„ ì™¼ìª½ì˜ ë¹ˆê³µê°„ìœ¼ë¡œ 옮기기 위해 ëŒì–´ë†“으세요."
+
+#: ../boards/hanoi_real.xml.in.h:3
+msgid "Reproduce the tower on the right side"
+msgstr "íƒ‘ì„ ì˜¤ë¥¸ìª½ìœ¼ë¡œ 옮기세요"
+
+#: ../boards/hanoi_real.xml.in.h:4
+msgid "The Tower of Hanoi"
+msgstr "하노ì´ì˜ 탑"
+
+#: ../boards/hanoi_real.xml.in.h:5
+#, fuzzy
+msgid ""
+"The object of the game is to move the entire stack to another peg, obeying "
+"the following rules:\n"
+"* only one disc may be moved at a time\n"
+"* no disc may be placed atop a smaller disc"
+msgstr ""
+"ê²Œìž„ì˜ ëª©ì ì€ 모든 ì¡°ê°ì„ 다른 곳으로 옮기는 것입니다. 다ìŒì˜ ê·œì¹™ì„ ì§€í‚¤ì„¸"
+"ìš” * í•œë²ˆì— í•œ íŒë§Œì„ 옮기세요 * ìž‘ì€ ì¡°ê°ë³´ë‹¤ ìœ„ì— ìžˆì„수 없습니다."
+
+#: ../boards/hanoi_real.xml.in.h:8
+msgid ""
+"The puzzle was invented by the French mathematician Edouard Lucas in 1883. "
+"There is a legend about a Hindu temple whose priests were constantly engaged "
+"in moving a set of 64 discs according to the rules of the Tower of Hanoi "
+"puzzle. According to the legend, the world would end when the priests "
+"finished their work. The puzzle is therefore also known as the Tower of "
+"Brahma puzzle. It is not clear whether Lucas invented this legend or was "
+"inspired by it. (source Wikipedia &lt;http://en.wikipedia.org/wiki/"
+"Tower_of_hanoi&gt;)"
+msgstr ""
+"í¼ì¦ì€ 프랑스 ìˆ˜í•™ìž Edouard Lucasì— ì˜í•´ 1883ë…„ì— ë°œëª…ë˜ì—ˆìŠµë‹ˆë‹¤. 힌ë‘êµì˜ "
+"ì „ì„¤ì— ë”°ë¥´ë©´ 64ì˜ íŒìœ¼ë¡œ ëœ í•˜ë…¸ì´ì˜ íƒ‘ì´ ìžˆìŠµë‹ˆë‹¤. ì „ì„¤ì— ë”°ë¥´ë©´ ì´ íƒ‘ì´ "
+"다 옮겨지면 세ìƒì´ ë난다고 합니다. 브ë¼ë§ˆì˜ í¼ì¦ íƒ‘ìœ¼ë¡œë„ ì•Œë ¤ì ¸ 있습니다. "
+"(ì›ë³¸ 위키피디아 &lt;http://en.wikipedia.org/wiki/Tower_of_hanoi&gt;)"
+
+#: ../boards/hexagon.xml.in.h:1
+msgid "Find the strawberry by clicking on the blue fields"
+msgstr "파란 ê³³ì„ í´ë¦­í•´ì„œ 딸기를 찾으세요."
+
+#: ../boards/hexagon.xml.in.h:4
+msgid ""
+"Try to find the strawberry under the blue fields. The fields become redder "
+"as you get closer."
+msgstr ""
+"파란 ê³³ì„ í´ë¦­í•´ì„œ 딸기를 찾으세요. 가까워 ì§ˆìˆ˜ë¡ ë¹¨ê°„ ìƒ‰ì´ ë ê²ƒ 입니다."
+
+#: ../boards/hexagon.xml.in.h:5
+msgid "hexagon"
+msgstr "6ê°í˜•"
+
+#: ../boards/imageid.xml.in.h:1
+msgid "Click on the word corresponding to the printed image."
+msgstr "í”„ë¦°íŠ¸ëœ ì´ë¯¸ì§€ì™€ ìƒì‘하는 단어를 í´ë¦­í•˜ì„¸ìš”."
+
+#: ../boards/imageid.xml.in.h:2
+msgid "Practice reading by finding the word matching an image"
+msgstr "ì´ë¯¸ì§€ì™€ 맞는 단어를 ì´ìš©í•´ ì½ê¸°ë¥¼ 연습합니다."
+
+#: ../boards/imageid.xml.in.h:3 ../boards/imagename.xml.in.h:4
+#: ../boards/readingh.xml.in.h:4 ../boards/readingv.xml.in.h:4
+#: ../src/boards/imageid.c:103 ../src/boards/missingletter.c:101
+msgid "Reading"
+msgstr "ì½ê¸°"
+
+#: ../boards/imageid.xml.in.h:4
+msgid "Reading practice"
+msgstr "ì½ê¸° 연습"
+
+#: ../boards/imageid/board1.xml.in.h:1 ../boards/imagename/board4_0.xml.in.h:2
+msgid "apple"
+msgstr "사과"
+
+#: ../boards/imageid/board1.xml.in.h:2
+msgid "back"
+msgstr "ë’¤"
+
+#: ../boards/imageid/board1.xml.in.h:3
+msgid "bag"
+msgstr "가방"
+
+#: ../boards/imageid/board1.xml.in.h:4 ../boards/imagename/board6_0.xml.in.h:2
+msgid "ball"
+msgstr "ê³µ"
+
+#: ../boards/imageid/board1.xml.in.h:5
+msgid "banana"
+msgstr "바나나"
+
+#: ../boards/imageid/board1.xml.in.h:6
+msgid "bed"
+msgstr "침대"
+
+#: ../boards/imageid/board1.xml.in.h:7
+msgid "boat"
+msgstr "ë°°"
+
+#: ../boards/imageid/board1.xml.in.h:8
+msgid "book"
+msgstr "ì±…"
+
+#: ../boards/imageid/board1.xml.in.h:9 ../boards/imagename/board2_0.xml.in.h:2
+msgid "bottle"
+msgstr "병"
+
+#: ../boards/imageid/board1.xml.in.h:10
+msgid "cake"
+msgstr "케잌"
+
+#: ../boards/imageid/board1.xml.in.h:11
+msgid "camel"
+msgstr "낙타"
+
+#: ../boards/imageid/board1.xml.in.h:12
+#: ../boards/imagename/board4_0.xml.in.h:4
+msgid "car"
+msgstr "ì°¨"
+
+#: ../boards/imageid/board1.xml.in.h:13
+msgid "cat"
+msgstr "ê³ ì–‘ì´"
+
+#: ../boards/imageid/board1.xml.in.h:14
+msgid "catch"
+msgstr "잡다"
+
+#: ../boards/imageid/board1.xml.in.h:15
+msgid "cheese"
+msgstr "치즈"
+
+#: ../boards/imageid/board1.xml.in.h:16
+msgid "cow"
+msgstr "소"
+
+#: ../boards/imageid/board1.xml.in.h:17
+msgid "dog"
+msgstr "개"
+
+#: ../boards/imageid/board1.xml.in.h:18
+msgid "finish"
+msgstr "마침"
+
+#: ../boards/imageid/board1.xml.in.h:19
+msgid "fish"
+msgstr "물고기"
+
+#: ../boards/imageid/board1.xml.in.h:20
+#: ../boards/imagename/board3_0.xml.in.h:2
+msgid "house"
+msgstr "집"
+
+#: ../boards/imageid/board1.xml.in.h:21
+msgid "pear"
+msgstr "ë°°"
+
+#: ../boards/imageid/board1.xml.in.h:22
+msgid "plane"
+msgstr "í‰ë©´"
+
+#: ../boards/imageid/board1.xml.in.h:23
+msgid "satchel"
+msgstr "í•™ìƒê°€ë°©"
+
+#: ../boards/imagename.xml.in.h:1 ../boards/imagename/board1_0.xml.in.h:1
+#: ../boards/imagename/board2_0.xml.in.h:1
+#: ../boards/imagename/board3_0.xml.in.h:1
+#: ../boards/imagename/board4_0.xml.in.h:1
+#: ../boards/imagename/board5_0.xml.in.h:1
+#: ../boards/imagename/board6_0.xml.in.h:1
+msgid "Drag and Drop each item onto its name"
+msgstr "ê·¸ë¦¼ì„ ì´ë¦„위로 옮겨 놓으세요."
+
+#: ../boards/imagename.xml.in.h:2
+msgid ""
+"Drag each image from the (vertical) box on the left to its (corresponding) "
+"name on the right. Click the OK button to check your answer."
+msgstr ""
+"세로 ë°•ìŠ¤ì˜ ì´ë¯¸ì§€ë¥¼ ì˜¤ë¥¸ìª½ì˜ ìƒì‘하는 ë‹¨ì–´ì— ì˜¬ë ¤ë†“ìœ¼ì‹œê³ , ë‹µì„ í™•ì¸ í•˜ê¸° 위"
+"í•´ OKë²„íŠ¼ì„ ëˆ„ë¥´ì„¸ìš”."
+
+#: ../boards/imagename.xml.in.h:3
+msgid "Image Name"
+msgstr "그림 ì´ë¦„"
+
+#: ../boards/imagename.xml.in.h:5
+msgid "Vocabulary and reading"
+msgstr "단어와 ì½ê¸°"
+
+#: ../boards/imagename/board1_0.xml.in.h:2
+msgid "bulb"
+msgstr "전구"
+
+#: ../boards/imagename/board1_0.xml.in.h:3
+msgid "fishing boat"
+msgstr "고깃 배"
+
+#: ../boards/imagename/board1_0.xml.in.h:4
+msgid "lamp"
+msgstr "램프"
+
+#: ../boards/imagename/board1_0.xml.in.h:5
+msgid "mail box"
+msgstr "우체통"
+
+#: ../boards/imagename/board1_0.xml.in.h:6
+#: ../boards/imagename/board5_0.xml.in.h:3
+msgid "postcard"
+msgstr "우편엽서"
+
+#: ../boards/imagename/board1_0.xml.in.h:7
+#: ../boards/imagename/board3_0.xml.in.h:5
+#: ../boards/imagename/board6_0.xml.in.h:7
+msgid "sailing boat"
+msgstr "í•­í•´ìš© ë°°"
+
+#: ../boards/imagename/board2_0.xml.in.h:3
+msgid "egg"
+msgstr "달걀"
+
+#: ../boards/imagename/board2_0.xml.in.h:4
+msgid "eggcup"
+msgstr "달걀컵"
+
+#: ../boards/imagename/board2_0.xml.in.h:5
+msgid "flower"
+msgstr "꽃"
+
+#: ../boards/imagename/board2_0.xml.in.h:6
+msgid "glass"
+msgstr "유리잔"
+
+#: ../boards/imagename/board2_0.xml.in.h:7
+msgid "vase"
+msgstr "ë„ìžê¸°"
+
+#: ../boards/imagename/board3_0.xml.in.h:3
+msgid "light house"
+msgstr "등대"
+
+#: ../boards/imagename/board3_0.xml.in.h:4
+msgid "rocket"
+msgstr "로켓"
+
+#: ../boards/imagename/board3_0.xml.in.h:6
+msgid "sofa"
+msgstr "소파"
+
+#: ../boards/imagename/board3_0.xml.in.h:7
+#: ../boards/imagename/board5_0.xml.in.h:5
+msgid "star"
+msgstr "별"
+
+#: ../boards/imagename/board4_0.xml.in.h:3
+msgid "bicycle"
+msgstr "ìžì „ê±°"
+
+#: ../boards/imagename/board4_0.xml.in.h:5
+msgid "carrot"
+msgstr "당근"
+
+#: ../boards/imagename/board4_0.xml.in.h:6
+msgid "grater"
+msgstr "ê°•íŒ"
+
+#: ../boards/imagename/board4_0.xml.in.h:7
+msgid "tree"
+msgstr "나무"
+
+#: ../boards/imagename/board5_0.xml.in.h:2
+msgid "pencil"
+msgstr "ì—°í•„"
+
+#: ../boards/imagename/board5_0.xml.in.h:4
+msgid "spruce"
+msgstr "전나무"
+
+#: ../boards/imagename/board5_0.xml.in.h:6
+msgid "truck"
+msgstr "트럭"
+
+#: ../boards/imagename/board5_0.xml.in.h:7
+msgid "van"
+msgstr "ë°´"
+
+#: ../boards/imagename/board6_0.xml.in.h:3
+msgid "castle"
+msgstr "성"
+
+#: ../boards/imagename/board6_0.xml.in.h:4
+msgid "crown"
+msgstr "왕관"
+
+#: ../boards/imagename/board6_0.xml.in.h:5
+msgid "flag"
+msgstr "깃발"
+
+#: ../boards/imagename/board6_0.xml.in.h:6
+msgid "racket"
+msgstr "ë¼ì¼“"
+
+#: ../boards/keyboard.xml.in.h:1
+msgid "Discover the keyboard."
+msgstr "키보드를 ì´ìš©í•˜ì„¸ìš”."
+
+#: ../boards/keyboard.xml.in.h:2
+msgid "Keyboard-manipulation boards"
+msgstr "키보드를 ì´ìš©í•œ 게임"
+
+#: ../boards/leftright.xml.in.h:1
+msgid "Determine if a hand is a right or a left hand"
+msgstr "오른쪽 ì†ì¸ì§€ 왼쪽 ì†ì´ì§€ 정하세요."
+
+#: ../boards/leftright.xml.in.h:2
+msgid ""
+"Distinguish right and left hands from different points of view. Spatial "
+"representation"
+msgstr "다른 ì‹œì ì—ì„œ 오른ì†ì¸ì§€, 왼ì†ì¸ì§€ 구분하세요."
+
+#: ../boards/leftright.xml.in.h:3
+msgid "Find your left and right hands"
+msgstr "오른ì†ê³¼ ì™¼ì† êµ¬ë³„í•˜ê¸°"
+
+#: ../boards/leftright.xml.in.h:4 ../boards/railroad.xml.in.h:4
+msgid "None"
+msgstr "ì—†ìŒ"
+
+#: ../boards/leftright.xml.in.h:5
+msgid ""
+"You can see a hand: is it a left hand or a right hand? Click on the red "
+"button on the left, or the green button on the right."
+msgstr ""
+"ë‹¹ì‹ ì€ ì†ì„ 볼수 있습니다.: 오른ì†ìž…니까? 왼ì†ìž…니까? ì™¼ìª½ì˜ ë¹¨ê°„ë²„íŠ¼, ë˜ëŠ” "
+"ì˜¤ë¥¸ìª½ì˜ ë…¹ìƒ‰ ë²„íŠ¼ì„ í´ë¦­í•˜ì„¸ìš”."
+
+#: ../boards/login.xml.in.h:1
+msgid ""
+"GCompris identifies each child, so we can provide child-specific reports."
+msgstr " GCompris는 ê°ê°ì˜ ì•„ì´ë“¤ì„ 구분해서, ìžì„¸í•œ 리í¬íŠ¸ë¥¼ 제공합니다."
+
+#: ../boards/login.xml.in.h:2
+msgid "GCompris login screen"
+msgstr "GCompris ë¡œê·¸ì¸ í™”ë©´"
+
+#: ../boards/login.xml.in.h:3
+msgid ""
+"In order to activate the login screen, you must \n"
+"first add users in the administration part of GCompris. \n"
+"You access Administration by running 'gcompris -a'.\n"
+"In Administration, you can create different profiles. In each profile,\n"
+"you can have a different set of users and select which activities are "
+"available to them.\n"
+"To run GCompris for a specific profile, you use 'gcompris -p profile' where "
+"'profile'\n"
+"is the name of a profile as you created it in Administration."
+msgstr ""
+"ë¡œê·¸ì¸ í™”ë©´ì„ í™œì„±í™” 시키기 위해 ë‹¹ì‹ ì€ ê¼­ \n"
+"GComprisì˜ ê´€ë¦¬ìž ë¶€ë¶„ì— ì‚¬ìš©ìžë¥¼ 추가합니다.. \n"
+"'gcompris -a'로 엑세스 합니다.\n"
+"관리 모드ì—서는 다른 사용ìžë¥¼ 만들수 있습니다.,\n"
+"ë‹¹ì‹ ì€ ë‹¤ë¥¸ ì¢…ë¥˜ì˜ ì‚¬ìš©ìžì™€ ê·¸ 사용ìžê°€ ì´ìš©ê°€ëŠ¥í•œ ê²ƒì„ ì„ íƒí•  수 있습니다.\n"
+"특정 프로파ì¼ì„ 구ë™ì‹œí‚¤ê¸° 위해\n"
+"ê´€ë¦¬ìž ëª¨ë“œì—ì„œ 만든 ê³„ì •ì„ ì„ íƒí•˜ì„¸ìš”"
+
+#: ../boards/login.xml.in.h:10
+msgid "Select or enter your name to log in to GCompris"
+msgstr "GComprisì— ë¡œê·¸ì¸ í•˜ê¸° 위한 ì´ë¦„ì„ ì¹˜ê±°ë‚˜, ì„ íƒí•˜ì„¸ìš”."
+
+#: ../boards/magic_hat_plus.xml.in.h:1 ../boards/memory_add.xml.in.h:1
+msgid "Addition"
+msgstr "추가"
+
+#: ../boards/magic_hat_plus.xml.in.h:2
+#, fuzzy
+msgid ""
+"Click on the hat to open or close it. Under the hat, how many stars can you "
+"see moving around? Count carefully. :) Click in the bottom-right area to "
+"input your answer."
+msgstr ""
+"모ìžë¥¼ 쓰거나 벗기 위해 í´ë¦­í•˜ì„¸ìš”. ëª¨ìž ë°‘ì— ì–¼ë§ˆë‚˜ ë§Žì€ ë³„ì´ ì›€ì§ì´ëŠ” ê²ƒì„ "
+"볼수 있습니까? 신중하게 세어 보세요^^. 오른쪽 í•˜ë‹¨ì„ ë‹µì„ ì“°ê¸°ìœ„í•´ í´ë¦­í•˜ì„¸"
+"ìš”."
+
+#: ../boards/magic_hat_plus.xml.in.h:3
+msgid "Count how many items are under the magic hat"
+msgstr "마법 모ìžë°‘ì— ì–¼ë§ˆë‚˜ ë§Žì€ ë³„ì´ ìžˆëŠ”ì§€ 세어보세요."
+
+#: ../boards/magic_hat_plus.xml.in.h:4
+msgid "Learn addition"
+msgstr "ë§ì…ˆì„ ë°°ì›ë‹ˆë‹¤."
+
+#: ../boards/magic_hat_plus.xml.in.h:5 ../boards/magic_hat_minus.xml.in.h:5
+msgid "The magician hat"
+msgstr "ë§ˆë²•ì˜ ëª¨ìž"
+
+#: ../boards/magic_hat_minus.xml.in.h:1
+msgid "Count how many items are under the magic hat after some have got away"
+msgstr ""
+"몇개가 없어진 ë’¤ì— ì–¼ë§ˆë‚˜ ë§Žì€ ë³„ì´ ë§ˆë²•ì˜ ëª¨ìž ë°‘ì— ìžˆëŠ”ì§€ 세세요."
+
+#: ../boards/magic_hat_minus.xml.in.h:2
+msgid "Learn subtraction"
+msgstr "ëº„ì…ˆì„ ë°°ì›ë‹ˆë‹¤."
+
+#: ../boards/magic_hat_minus.xml.in.h:3
+msgid ""
+"Look at the magician, he tells the number of stars that are under his magic "
+"hat. Then, click on the hat to open it. A few stars escape. Click again on "
+"the hat to close it. You have to count how many are still under the hat. "
+"Click on the bottom right area to answer."
+msgstr ""
+"마법사를 보세요, 그가 ê·¸ì˜ ë§ˆë²•ì˜ ëª¨ìž ë°‘ì— ìžˆëŠ” ë³„ì˜ ê°¯ìˆ˜ë¥¼ ë§í•´ì¤„ 것 입니"
+"다. 그리고 모ìžë¥¼ í´ë¦­í•´ì„œ 여세요. ëª‡ê°œì˜ ë³„ì´ ì—†ì–´ì§‘ë‹ˆë‹¤. 모ìžë¥¼ 닫기위해 다"
+"ì‹œ í´ë¦­í•˜ì„¸ìš”. 다시 ë³„ì˜ ìˆ«ìžë¥¼ 세고, 답하기 위해 오른쪽 í•˜ë‹¨ì„ í´ë¦­í•˜ì„¸ìš”."
+
+#: ../boards/magic_hat_minus.xml.in.h:4 ../boards/memory_add_minus.xml.in.h:3
+#: ../boards/memory_add_minus_tux.xml.in.h:3 ../boards/memory_minus.xml.in.h:2
+#: ../boards/memory_minus_tux.xml.in.h:2
+msgid "Subtraction"
+msgstr "뺄셈"
+
+#: ../boards/math.xml.in.h:1
+msgid "Mathematical activities."
+msgstr "ìˆ˜í•™ì  í™œë™."
+
+#: ../boards/math.xml.in.h:2
+msgid "Mathematics"
+msgstr "수학"
+
+#: ../boards/maze.xml.in.h:1 ../boards/maze2DRelative.xml.in.h:1
+#: ../boards/maze3D.xml.in.h:2 ../boards/mazeInvisible.xml.in.h:1
+msgid "Can use the keyboard arrow to move an object."
+msgstr "화살표를 ë¬¼ê±´ì„ ì›€ì§ì´ëŠ”ë° ì‚¬ìš©í• ìˆ˜ 있습니다."
+
+#: ../boards/maze.xml.in.h:2 ../src/boards/maze.c:129
+msgid "Find your way out of the maze"
+msgstr "미로를 나가는 ê¸¸ì„ ì°¾ìœ¼ì„¸ìš”."
+
+#: ../boards/maze.xml.in.h:3 ../boards/maze2DRelative.xml.in.h:3
+#: ../boards/maze3D.xml.in.h:4 ../boards/mazeInvisible.xml.in.h:3
+msgid "Help Tux get out of this maze."
+msgstr "Tuxê°€ 미로를 나가는 ê²ƒì„ ë„와주세요."
+
+#: ../boards/maze.xml.in.h:4 ../boards/maze2DRelative.xml.in.h:4
+#: ../boards/mazeInvisible.xml.in.h:4 ../src/boards/maze.c:128
+msgid "Maze"
+msgstr "미로"
+
+#: ../boards/maze.xml.in.h:5
+msgid "Use the keyboard arrows to move Tux up to the door."
+msgstr "키보드 화살표를 ì´ìš©í•´ì„œ Tux를 문까지 움ì§ì´ì„¸ìš”."
+
+#: ../boards/maze2DRelative.xml.in.h:2
+msgid "Find your way out of the maze (Move is relative)"
+msgstr "미로ì—ì„œ 나가는 ê¸¸ì„ ì°¾ìœ¼ì„¸ìš”."
+
+#: ../boards/maze2DRelative.xml.in.h:5
+msgid ""
+"Use the keyboard arrows to move Tux up to the door. In this maze, the move "
+"is relative (first person). Use the up arrow to go forward. The other arrow "
+"let you turn Tux in another direction."
+msgstr ""
+"키보드 화살표를 ì´ìš©í•´ì„œ Tux를 문까지 움ì§ì´ì„¸ìš”. ì´ ë¯¸ë¡œì—ì„œ 움ì§ìž„ì€ ìƒëŒ€ì "
+"입니다. 앞으로 가기위ì—ì„œ 윗쪽 화살표를 ì´ìš©í•˜ì„¸ìš”. 다른 화살표는 Tuxê°€ 다른 "
+"방향으로 ë„ëŠ”ë° ì“°ìž…ë‹ˆë‹¤."
+
+#: ../boards/maze3D.xml.in.h:1
+msgid "3D Maze"
+msgstr "ì‚¼ì°¨ì› ë¯¸ë¡œ"
+
+#: ../boards/maze3D.xml.in.h:3
+msgid "Find your way out of the 3D maze"
+msgstr "ì‚¼ì°¨ì› ë¯¸ë¡œ 밖으로 나가는 ê¸¸ì„ ì°¾ìœ¼ì„¸ìš”"
+
+#: ../boards/maze3D.xml.in.h:5
+msgid ""
+"Use the keyboard arrows to move Tux up to the door. Use the spacebar to "
+"switch between 2D and 3D modes. 2D mode just gives you an indication of your "
+"position, like a map. You cannot move Tux in 2D mode."
+msgstr ""
+"키보드 화살표를 ì´ìš©í•´ì„œ Tux를 문까지 움ì§ì´ì„¸ìš”. 스페ì´ìŠ¤ 바로 2ì°¨ì›ê³¼ 3ì°¨"
+"ì› ëª¨ë“œë¥¼ 전환합니다. 2ì°¨ì› ëª¨ë“œëŠ” 단지 위치를 표시해ì¤ë‹ˆë‹¤. ë‹¹ì‹ ì€ Tux를 2ì°¨"
+"ì› ëª¨ë“œì—서는 움ì§ì¼ 수 없습니다."
+
+#: ../boards/mazeInvisible.xml.in.h:2
+msgid "Find your way out of the invisible maze"
+msgstr "안보ì´ëŠ” 미로ì—ì„œ 밖으로 나가는 ê¸¸ì„ ì°¾ìœ¼ì„¸ìš”"
+
+#: ../boards/mazeInvisible.xml.in.h:5
+msgid ""
+"Use the keyboard arrows to move Tux up to the door. Use the spacebar to "
+"switch between invisible and visible modes. Visible mode just gives you an "
+"indication of your position, like a map. You cannot move Tux in visible mode."
+msgstr ""
+"키보드 화살표를 ì´ìš©í•´ì„œ Tux를 문까지 움ì§ì´ì„¸ìš”. 스페ì´ìŠ¤ 바로 ë³´ì´ëŠ” 모드"
+"와 안보ì´ëŠ” 모드를 전환합니다. ë³´ì´ëŠ” 모드는 단지 위치를 표시해ì¤ë‹ˆë‹¤. 당신"
+"ì€ Tux를 ë³´ì´ëŠ” 모드ì—서는 움ì§ì¼ 수 없습니다."
+
+#: ../boards/mazeMenu.xml.in.h:1
+msgid "Find your way out of different types of mazes"
+msgstr "다른 ì¢…ë¥˜ë“¤ì˜ ë¯¸ë¡œì—ì„œ 나가는 ê¸¸ì„ ì°¾ìœ¼ì„¸ìš”."
+
+#: ../boards/mazeMenu.xml.in.h:2
+msgid "Go to Maze activities"
+msgstr "미로 게임"
+
+#: ../boards/melody.xml.in.h:1
+msgid "Ear-training activity"
+msgstr "ê·€ 훈력 활ë™"
+
+#: ../boards/melody.xml.in.h:2
+msgid ""
+"Listen to the sound sequence played, and repeat it by clicking on the "
+"elements. You can listen again by clicking on the repeat button."
+msgstr ""
+"소리를 듣고 순서대로 í´ë¦­í•˜ì„¸ìš”. 반복 ë²„íŠ¼ì„ ì´ìš©í•´ 다시 들ì„수 있습니다."
+
+#: ../boards/melody.xml.in.h:3
+msgid "Melody"
+msgstr "멜로디"
+
+#: ../boards/melody.xml.in.h:5
+msgid "Repeat a melody"
+msgstr "멜로디를 반복합니다."
+
+#: ../boards/memory.xml.in.h:1
+msgid ""
+"A set of blank cards is shown. Each card has a picture on the other side, "
+"and each picture card has a twin exactly the same. Click on a card to see "
+"its hidden picture, and try to match the twins. You can only turn over two "
+"cards at once, so you need to remember where a picture is, while you look "
+"for its twin. When you turn over the twins, they both disappear."
+msgstr ""
+"빈 ì¹´ë“œì˜ ì§‘í•©ì´ ë³´ì—¬ 집니다. ê° ì¹´ë“œëŠ” 반대 ìª½ì— ê·¸ë¦¼ì„ í¬í•¨í•˜ê³  있습니다. "
+"그리고 그림 카드는 ë˜‘ê°™ì€ ì§ì„ 가지고 있습니다. ë‹¹ì‹ ì€ ë‘ ì¹´ë“œë¥¼ 한번만 뒤집"
+"ì„ ìˆ˜ 있습니다, ë”°ë¼ì„œ ë‹¹ì‹ ì€ ì–´ë””ì— ë­ê°€ 있는지 기억해야 합니다. ì§ì´ 맞는 "
+"카드를 í•œë²ˆì— ë’¤ì§‘ìœ¼ë©´ 사ë¼ì§‘니다."
+
+#: ../boards/memory.xml.in.h:2
+msgid "Flip the cards to find the matching pairs"
+msgstr "맞는 ì§ì„ 찾기 위해서 카드를 뒤집으세요."
+
+#: ../boards/memory.xml.in.h:3
+msgid "Memory Game with images"
+msgstr "그림 기억 게임"
+
+#: ../boards/memory.xml.in.h:5 ../boards/memory_tux.xml.in.h:4
+msgid "Train your memory and remove all the cards"
+msgstr "ê¸°ì–µë ¥ì„ í›ˆë ¨í•˜ê¸° 위해 모든 카드를 제거하세요."
+
+#: ../boards/memory_add.xml.in.h:2
+msgid "Addition memory game"
+msgstr "ë§ì…ˆ 기억 게임"
+
+#: ../boards/memory_add.xml.in.h:3 ../boards/memory_add_tux.xml.in.h:3
+msgid "Practise adding up, until all the cards are gone."
+msgstr "모든 카드가 없어질 때까지 ë”하기를 연습하세요."
+
+#: ../boards/memory_add.xml.in.h:4 ../boards/memory_add_tux.xml.in.h:4
+msgid ""
+"Turn the cards over to find two numbers which add up the same, until all the "
+"cards are gone."
+msgstr ""
+"카드가 없어 질때까지 ë”하면 같게 ë˜ëŠ” ë‘ ìˆ«ìžë¥¼ 찾아서 카드를 뒤집으세요."
+
+#: ../boards/memory_add.xml.in.h:5 ../boards/memory_add_tux.xml.in.h:5
+msgid ""
+"You can see some cards, but you can't see what's on the other side of them. "
+"Each card is hiding an adding-up sum, or the answer to the sum.\n"
+"An adding-up sum looks like this: 2 + 2 = 4\n"
+"The numbers on one side of the equals sign (=) have to be the same as the "
+"number on the other side. So 2 (1, 2) and 2 more (3, 4) makes 4. Count aloud "
+"when you work this out, and count on your fingers, because the more ways you "
+"do something, the better you remember it. You can also use blocks, or "
+"buttons, or anything you can count. If you have lots of brothers and "
+"sisters, you can count them! Or the kids in your class at school. Sing "
+"counting songs. Count lots of things, for practice, and you'll be very good "
+"at adding-up!\n"
+"\n"
+"In this game, these cards are hiding the two parts of an adding-up sum (also "
+"called an addition sum). You need to find the two parts of the sum, and "
+"bring them together again. Click on a card to see what number it's hiding, "
+"then try to find the other card that goes with it, to make a whole sum. You "
+"can only turn over two cards in one go, so you need to remember where the "
+"numbers are hiding, then you can match them when you find their other half. "
+"You're doing the job of the equals sign, and the numbers need you to put "
+"them together and make a proper sum. When you do that, both those cards "
+"disappear! When you've made them all disappear, found all the sums, you've "
+"won the game! :)"
+msgstr ""
+"ëª‡ê°œì˜ ì¹´ë“œê°€ 보입니다. 그러나 다른쪽 íŽ¸ì— ë¬´ì—‡ì´ ìžˆëŠ”ì§€ 볼수 없습니다. 그리"
+"ê³  ê°ê°ì˜ 카드는 ë‘ ìˆ«ìžì˜ ë§ì…ˆ ë˜ëŠ” í•©ì— ëŒ€í•œ ë‹µì´ ìžˆìŠµë‹ˆë‹¤.\n"
+"ë‘ ìˆ«ìžì˜ ë§ì…ˆì€ ì´ì™€ ê°™ì´ ìƒê²¼ìŠµë‹ˆë‹¤: 2 + 2 = 4\n"
+"등호가 ìžˆëŠ”ìª½ì˜ ìˆ«ìžëŠ” ë‹¤ë¥¸ìª½ì— ìžˆëŠ” 숫ìžì™€ 반드시 같아야 합니다. 그래서 "
+"(1, 2) 그리고 (3, 4)는 4를 만들게 ë©ë‹ˆë‹¤. 숫ìžë¥¼ 소리내어 세어보세요 그리고 "
+"ì†ê°€ë½ìœ¼ë¡œ 세어보세요. 왜ëƒí•˜ë©´ 여러가지 방법으로 í• ìˆ˜ë¡ ê¸°ì–µí•˜ê¸° ë” ì‰½ê¸° ë•Œ"
+"문입니다. 블럭ì´ë‚˜ 버튼 ë˜ëŠ” 셀수있는 ì–´ë–¤ê²ƒì„ ì‚¬ìš©í•´ë„ ì¢‹ìŠµë‹ˆë‹¤. 만약 형ì´"
+"나 ëˆ„ë‚˜ë“¤ì´ ë§Žì´ ìžˆë‹¤ë©´, 형ì´ë‚˜ ëˆ„ë‚˜ë“¤ì„ ì„¸ì–´ë„ ë©ë‹ˆë‹¤! í˜¹ì€ ê°™ì€ë°˜ì— 있는 ì•„"
+"ì´ë“¤ì„ ì„¸ì–´ë„ ë©ë‹ˆë‹¤. 숫ìžë¥¼ 세는 노래를 불러보세요. 여러가지 ë¬¼ê±´ë“¤ì„ ì—°ìŠµì‚¼"
+"ì•„ 세어보세요. 그러면 숫ìžë¥¼ ë”í•˜ëŠ”ê²ƒì„ ì•„ì£¼ 잘하게 ë ê²ƒìž…니다!\n"
+"\n"
+"ì´ ê²Œìž„ì—서는 ì¹´ë“œë“¤ì´ ìˆ«ìžì˜ í•©ì„ ê°€ì§„ ë‘가지 ë¶€ë¶„ì„ ìˆ¨ê¸°ê³  있습니다. í•©ì´ "
+"있는 ë‘ ë©´ì„ ì°¾ì•„ì•¼í•˜ê³ , ê·¸ê²ƒë“¤ì„ ë‹¤ì‹œ 모아야 합니다. 카드를 í´ë¦­í•´ì„œ ì–´ë–¤ 숫"
+"ìžë¥¼ 숨기고 있는지 보세요, 그리고 ì „ì²´ í•©ì„ ë§Œë“¤ê¸° 위해 ê·¸ ì¹´ë“œì— ë§žëŠ” 다른 "
+"카드를 찾아보세요. í•œë²ˆì— ë‘ìž¥ì˜ ì¹´ë“œë§Œ 뒤집어 볼수 있습니다, 그러므로 숫ìžë“¤"
+"ì´ ì–´ë””ì— ìˆ¨ì–´ìžˆëŠ”ì§€ 기억하세요, 그러면 다른 í•œì§ì„ 찾아서 카드를 맞출수 있습"
+"니다. 지금 등호와 숫ìžë¥¼ 가지고 ì ì ˆí•œ í•©ì„ ì°¾ëŠ” ì¼ì„ 하고 있습니다. ì´ê²ƒì„ "
+"ì„±ê³µí–ˆì„ ë•ŒëŠ” ë‘ ì¹´ë“œê°€ ëª¨ë‘ ì‚¬ë¼ì§‘니다! 모든 카드를 사ë¼ì§€ê²Œ 만들었ì„ë•Œ, 모"
+"ë“  í•©ì„ ì°¾ì€ê²ƒì´ê³  ê²Œìž„ì„ ì´ê¸°ê²Œ ë©ë‹ˆë‹¤! :)"
+
+#: ../boards/memory_add_minus.xml.in.h:1
+msgid "Addition and subtraction memory game"
+msgstr "ë§ì…ˆ, 뺄셈 기억 게임"
+
+#: ../boards/memory_add_minus.xml.in.h:2
+#: ../boards/memory_add_minus_tux.xml.in.h:2
+msgid "Practise addition, subtraction, until all the cards are gone."
+msgstr "모든 카드가 사ë¼ì§ˆë•Œê¹Œì§€ ë§ì…ˆ, ëº„ì…ˆì„ ì—°ìŠµí•˜ì„¸ìš”."
+
+#: ../boards/memory_add_minus.xml.in.h:4
+#: ../boards/memory_add_minus_tux.xml.in.h:4
+msgid ""
+"Turn the cards over to find two numbers which add or subtract the same, "
+"until all the cards are gone."
+msgstr ""
+"모든 카드가 사ë¼ì§ˆë•Œê¹Œì§€ 카드를 뒤집고 ë§ì…ˆê³¼ ëº„ì…ˆì˜ ê²°ê³¼ê°€ ê°™ì€ ë‘ ìˆ«ìžë¥¼ ì°¾"
+"으세요."
+
+#: ../boards/memory_add_minus.xml.in.h:5
+#: ../boards/memory_add_minus_mult_div.xml.in.h:5
+#: ../boards/memory_add_minus_mult_div_tux.xml.in.h:5
+#: ../boards/memory_add_minus_tux.xml.in.h:5 ../boards/memory_div.xml.in.h:5
+#: ../boards/memory_div_tux.xml.in.h:5 ../boards/memory_mult.xml.in.h:5
+#: ../boards/memory_mult_div.xml.in.h:5
+#: ../boards/memory_mult_div_tux.xml.in.h:5
+#: ../boards/memory_mult_tux.xml.in.h:5
+msgid ""
+"You can see some cards, but you can't see what's on the other side of them. "
+"Each card is hiding an operation, or the answer to it.\n"
+"\n"
+"In this game, these cards are hiding the two parts of an operation. You need "
+"to find the two parts of the operation, and bring them together again. Click "
+"on a card to see what number it's hiding, then try to find the other card "
+"that goes with it, to make a whole operation. You can only turn over two "
+"cards in one go, so you need to remember where the numbers are hiding, then "
+"you can match them when you find their other half. You're doing the job of "
+"the equals sign, and the numbers need you to put them together and make a "
+"proper equality. When you do that, both those cards disappear! When you've "
+"made them all disappear, found all the operations, you've won the game! :)"
+msgstr ""
+"ëª‡ê°œì˜ ì¹´ë“œë¥¼ 불 수 있습니다. 하지만 ë‹¤ë¥¸íŽ¸ì— ë¬´ì—‡ì´ ìžˆëŠ”ì§€ ë³¼ 수 없습니다. "
+"ê°ê°ì˜ 카드는 수학기호나 ë‹µì„ ìˆ¨ê¸°ê³  있습니다.\n"
+"\n"
+"ì´ ê²Œìž„ì—서는 ì¹´ë“œë“¤ì´ ì‹ì˜ ë‘ ë¶€ë¶„ì„ ìˆ¨ê¸°ê³  있습니다. ë‘ ë¶€ë¶„ì„ ì°¾ê³ , 그것들"
+"ì„ ëª¨ìœ¼ì„¸ìš”. 숫ìžë¥¼ 보기위해 카드를 í´ë¦­í•˜ê³  ì „ì²´ ì‹ì´ 성립하ë„ë¡ ê·¸ê²ƒì— ë§ž"
+"는 다른 숫ìžë¥¼ 가진 카드를 찾으세요. í•œë²ˆì— ë‘ìž¥ì˜ ì¹´ë“œë§Œì„ ë„˜ê¸¸ìˆ˜ 있기때문"
+"ì— ìˆ«ìžê°€ ì–´ë””ì— ìˆ¨ê²¨ì ¸ 있는지 기억해야 다른 í•œì§ì˜ 카드를 ì°¾ì„ ìˆ˜ 있습니다."
+"지금 등호와 숫ìžë¥¼ 가지고 ì ì ˆí•œ í•©ì„ ì°¾ëŠ” ì¼ì„ 하고 있습니다. ì´ê²ƒì„ 성공했"
+"ì„ ë•ŒëŠ” ë‘ ì¹´ë“œê°€ ëª¨ë‘ ì‚¬ë¼ì§‘니다! 모든 카드를 사ë¼ì§€ê²Œ 만들었ì„ë•Œ 모든 ì‹ì„ "
+"ì°¾ì€ê²ƒì´ê³  게임ì—ì„œ ì´ê¸°ê²Œ ë©ë‹ˆë‹¤! :)"
+
+#: ../boards/memory_add_minus_mult_div.xml.in.h:1
+#: ../boards/memory_add_minus_mult_div_tux.xml.in.h:1
+msgid "Addition, subtraction, multiplication, division"
+msgstr "ë§ì…ˆ, 뺄셈, 곱셈, 나눗셈"
+
+#: ../boards/memory_add_minus_mult_div.xml.in.h:2
+msgid "All operations memory game"
+msgstr "모든 연산 기억 게임"
+
+#: ../boards/memory_add_minus_mult_div.xml.in.h:3
+#: ../boards/memory_add_minus_mult_div_tux.xml.in.h:3
+msgid ""
+"Practise addition, subtraction, multiplication, division, until all the "
+"cards are gone."
+msgstr "카드가 ëª¨ë‘ ì‚¬ë¼ì§ˆë•Œê¹Œì§€ ë§ì…ˆ, ë»´ì…ˆ, 곱셈, ë‚˜ëˆ—ì…ˆì„ ì—°ìŠµí•˜ì„¸ìš”."
+
+#: ../boards/memory_add_minus_mult_div.xml.in.h:4
+#: ../boards/memory_add_minus_mult_div_tux.xml.in.h:4
+#: ../boards/memory_div.xml.in.h:4 ../boards/memory_div_tux.xml.in.h:4
+#: ../boards/memory_mult_div.xml.in.h:4
+#: ../boards/memory_mult_div_tux.xml.in.h:4
+#: ../boards/memory_mult_tux.xml.in.h:4
+msgid ""
+"Turn the cards over to find a matching operation, until all the cards are "
+"gone."
+msgstr "모든 카드가 사ë¼ì§ˆë•Œê¹Œì§€ 카드를 뒤집어서 알맞는 수학 기호를 찾으세요."
+
+#: ../boards/memory_add_minus_mult_div_tux.xml.in.h:2
+msgid "All operations memory game against Tux"
+msgstr "Tux와 함께하는 모든 연산 기억 게임"
+
+#: ../boards/memory_add_minus_tux.xml.in.h:1
+msgid "Addition and subtraction memory game against Tux"
+msgstr "Tux와 함께하는 ë§ì…ˆê³¼ 뺄셈 기억하기 게임"
+
+#: ../boards/memory_add_tux.xml.in.h:1
+msgid "Addition memory game against Tux"
+msgstr "Tux와 함께하는 ë§ì…ˆ 기억 게임"
+
+#: ../boards/memory_add_tux.xml.in.h:2 ../boards/memory_mult_tux.xml.in.h:1
+#, fuzzy
+msgid "Additions"
+msgstr "ë§ì…ˆ"
+
+#: ../boards/memory_div.xml.in.h:1 ../boards/memory_div_tux.xml.in.h:1
+msgid "Division"
+msgstr "나눗셈"
+
+#: ../boards/memory_div.xml.in.h:2
+msgid "Division memory game"
+msgstr "나눗셈 기억 게임"
+
+#: ../boards/memory_div.xml.in.h:3 ../boards/memory_div_tux.xml.in.h:3
+msgid "Practise division, until all the cards are gone."
+msgstr "카드가 ëª¨ë‘ ì‚¬ë¼ì§ˆë•Œê¹Œì§€ ë‚˜ëˆ—ì…ˆì„ ì—°ìŠµí•˜ì„¸ìš”."
+
+#: ../boards/memory_div_tux.xml.in.h:2
+msgid "Division memory game against Tux"
+msgstr "Tux와 함께하는 나눗셈 기억 게임"
+
+#: ../boards/memory_group.xml.in.h:1
+msgid "Go to Memory activities"
+msgstr "기억하기 게임"
+
+#: ../boards/memory_group.xml.in.h:2
+msgid "Various memory activities (images, letters, sounds)."
+msgstr "여러가지 기억하기 게임(그림, 문ìž, 소리)."
+
+#: ../boards/memory_minus.xml.in.h:1 ../boards/memory_minus_tux.xml.in.h:1
+msgid "Practise subtraction, until all the cards are gone."
+msgstr "카드가 ëª¨ë‘ ì‚¬ë¼ì§ˆë•Œê¹Œì§€ ëº„ì…ˆì„ ì—°ìŠµí•˜ì„¸ìš”."
+
+#: ../boards/memory_minus.xml.in.h:3
+msgid "Subtraction memory game"
+msgstr "뺄셈 기억 게임"
+
+#: ../boards/memory_minus.xml.in.h:4 ../boards/memory_minus_tux.xml.in.h:4
+msgid ""
+"Turn the cards over to find two numbers which subtract the same, until all "
+"the cards are gone."
+msgstr ""
+"모든 카드가 사ë¼ì§ˆë•Œê¹Œì§€, ë‘ê°œì˜ ì¹´ë“œë¥¼ 뒤집어서 ëº„ì…ˆì´ ê°™ì€ ê²ƒì„ ì°¾ìœ¼ì„¸ìš”."
+
+#: ../boards/memory_minus.xml.in.h:5 ../boards/memory_minus_tux.xml.in.h:5
+msgid ""
+"You can see some cards, but you can't see what's on the other side of them. "
+"Each card is hiding a subtraction, or the answer to it.\n"
+"A subtraction looks like this: 3 - 1 = 2\n"
+"The numbers on one side of the equals sign (=) have to be the same as the "
+"number on the other side. So 3 (1, 2, 3) less 1 (1) makes 2. Count aloud "
+"when you work this out, and count on your fingers, because the more ways you "
+"do something, the better you remember it. You can also use blocks, or "
+"buttons, or anything you can count. If you have lots of brothers and "
+"sisters, you can count them! Or the kids in your class at school. Sing "
+"counting songs. Count lots of things, for practice, and you'll be very good "
+"at adding-up!\n"
+"\n"
+"In this game, these cards are hiding the two parts of a subtraction. You "
+"need to find the two parts of the subraction, and bring them together again. "
+"Click on a card to see what number it's hiding, then try to find the other "
+"card that goes with it, to make a whole sum. You can only turn over two "
+"cards in one go, so you need to remember where the numbers are hiding, then "
+"you can match them when you find their other half. You're doing the job of "
+"the equals sign, and the numbers need you to put them together and make a "
+"proper sum. When you do that, both those cards disappear! When you've made "
+"them all disappear, found all the subtracts, you've won the game! :)"
+msgstr ""
+"ê°™ì€ ì¹´ë“œë¥¼ ë³¼ 수 있습니다. 하지만 ë‹¤ë¥¸ìª½ì— ë¬´ì—‡ì´ ìžˆëŠ”ì§€ëŠ” ë³¼ 수 없습니다. "
+"ê°ê°ì˜ 카드는 뺄셈ì‹ì´ë‚˜ ë‹µì„ ìˆ¨ê¸°ê³  잇습니다.\n"
+"뺄셈ì‹ì€ ì´ì™€ 같습니다: 3 - 1 = 2\n"
+"등호가 있는 ìª½ì˜ ìˆ«ìžë“¤ì€ 다른 í•œìª½ì— ìžˆëŠ” 숫ìžì™€ 같아야 합니다. 그러므로 3 "
+"빼기 1ì€ 2를 만들게 ë©ë‹ˆë‹¤. ì´ê²ƒì„ í• ë•Œ 숫ìžë¥¼ 소리내어 ì½ê³  ì†ê°€ë½ìœ¼ë¡œ 세어"
+"보세요. 여러가지 방법으로 í•˜ëŠ”ê²ƒì´ ê¸°ì–µí•˜ê¸°ì— ë” ì¢‹ê¸° 때문입니다. 블럭ì´ë‚˜ 버"
+"튼 ë˜ëŠ” 셀수있는 ì–´ë–¤ê²ƒì„ ì‚¬ìš©í•´ë„ ë©ë‹ˆë‹¤. 만약 형ì´ë‚˜ 누나가 많다면 형ì´ë‚˜ "
+"누나를 ì„¸ì–´ë„ ë©ë‹ˆë‹¤! ë˜ëŠ” ê°™ì€ë°˜ì˜ ì¹œêµ¬ë“¤ì„ ì„¸ì–´ë„ ë©ë‹ˆë‹¤. 숫ìžì„¸ê¸° 노래를 "
+"불러보세요. 여러가지 ë¬¼ê±´ë“¤ì„ ì—°ìŠµì‚¼ì•„ 세어보세요, 그러면 숫ìžì„¸ê¸°ë¥¼ 잘하게 "
+"ë ê²ë‹ˆë‹¤!\n"
+"\n"
+"ì´ ê²Œìž„ì—서는 ì¹´ë“œë“¤ì´ ëº„ì…ˆì‹ì˜ ë‘ ë¶€ë¶„ì„ ìˆ¨ê¸°ê³  있습니다. ê·¸ ë‘ ë¶€ë¶„ì„ ì°¾ì•„"
+"야 하고, ê·¸ê²ƒë“¤ì„ ë‹¤ì‹œ 모아 보세요. 숨겨진 숫ìžë¥¼ 보려면 카드를 í´ë¦­í•˜ì„¸ìš”. "
+"그리고 전체를 완성시키기 위해 ê·¸ ì¹´ë“œì— ë§žëŠ” 다른 카드를 찾아보세요. í•œë²ˆì— "
+"ë‘ìž¥ì˜ ì¹´ë“œë§Œ ë’¤ì§‘ì„ ìˆ˜ 있으므로 숫ìžê°€ ì–´ë””ì— ìˆ¨ê²¨ì ¸ 있는지 기억해야 알맞는 "
+"다른 ì§ì„ ì°¾ì„ ìˆ˜ 있습니다. 지금 등호와 숫ìžë¥¼ ì¡°í•©í•´ì„œ ì ì ˆí•œ í•©ì„ ì°¾ëŠ” 놀ì´"
+"를 하고 있습니다. ì´ê²ƒì„ 성공 í–ˆì„때는 ë‘ê°œì˜ ì¹´ë“œê°€ 사ë¼ì§‘니다! 모든 카드를 "
+"사ë¼ì§€ê²Œ 만들었ì„ë•Œ, ëº„ì…ˆì„ ëª¨ë‘ ì™„ì„±í•œê²ƒì´ê³ , ê²Œìž„ì„ ì´ê¸°ê²Œ ë©ë‹ˆë‹¤! :)"
+
+#: ../boards/memory_minus_tux.xml.in.h:3
+msgid "Subtraction memory game against Tux"
+msgstr "Tux와 함께하는 뺄셈 기억 게임"
+
+#: ../boards/memory_mult.xml.in.h:1
+msgid "Multiplication"
+msgstr "곱셈"
+
+#: ../boards/memory_mult.xml.in.h:2
+msgid "Multiplication memory game"
+msgstr "곱셈 기억 게임"
+
+#: ../boards/memory_mult.xml.in.h:3
+msgid "Practise multiplication, until all the cards are gone."
+msgstr "모든 카드가 사ë¼ì§ˆë•Œê¹Œì§€ ê³±ì…ˆì„ ì—°ìŠµí•˜ì„¸ìš”."
+
+#: ../boards/memory_mult.xml.in.h:4
+msgid ""
+"Turn the cards over to find two numbers which multiply the same, until all "
+"the cards are gone."
+msgstr ""
+"카드가 ëª¨ë‘ ì‚¬ë¼ì§ˆë•Œê¹Œì§€, 카드를 뒤집어서 ê³±ì´ ê°™ì€ ë‘ ìˆ«ìžë¥¼ 찾으세요."
+
+#: ../boards/memory_mult_div.xml.in.h:1
+msgid "Multiplication and division memory game"
+msgstr "곱셈과 나눗셈 기억 게임"
+
+#: ../boards/memory_mult_div.xml.in.h:2
+#: ../boards/memory_mult_div_tux.xml.in.h:2
+msgid "Multiplication, division"
+msgstr "곱셈, 나눗셈"
+
+#: ../boards/memory_mult_div.xml.in.h:3
+#: ../boards/memory_mult_div_tux.xml.in.h:3
+msgid "Practise multiplication, division, until all the cards are gone."
+msgstr "카드가 ëª¨ë‘ ì‚¬ë¼ì§ˆë•Œê¹Œì§€ 곱셈과 ë‚˜ëˆ—ì…ˆì„ ì—°ìŠµí•˜ì„¸ìš”."
+
+#: ../boards/memory_mult_div_tux.xml.in.h:1
+msgid "Multiplication and division memory game against Tux"
+msgstr "Tux와 함께하는 곱셈과 나눗셈 기억 게임"
+
+#: ../boards/memory_mult_tux.xml.in.h:2
+msgid "Multiplication memory game against Tux"
+msgstr "Tux와 함께하는 곱셈 기억하기 게임"
+
+#: ../boards/memory_mult_tux.xml.in.h:3
+msgid "Practise multiplication until all the cards are gone."
+msgstr "모든 카드가 사ë¼ì§ˆë•Œê¹Œì§€ ê³±ì…ˆì„ ì—°ìŠµí•˜ì„¸ìš”."
+
+#: ../boards/memory_op_group.xml.in.h:1
+msgid "Go to mathematics memory activities"
+msgstr "ìˆ˜ì‹ ê¸°ì–µí•˜ê¸° 게임"
+
+#: ../boards/memory_op_group.xml.in.h:2
+#: ../boards/memory_op_group_tux.xml.in.h:2
+msgid "Memory activities based on operations"
+msgstr "수ì‹ì„ ì´ìš©í•´ì„œ 기억하기"
+
+#: ../boards/memory_op_group_tux.xml.in.h:1
+msgid "Go to mathematics memory activities against Tux"
+msgstr "Tux 와 함께하는 ìˆ˜ì‹ ê¸°ì–µí•˜ê¸° 게임"
+
+#: ../boards/memory_sound.xml.in.h:1 ../boards/memory_sound_tux.xml.in.h:1
+msgid ""
+"A set of violinist Tux is shown. Each Tux has an associated sound, and each "
+"sound has a twin exactly the same. Click on a Tux to see its hidden sound, "
+"and try to match the twins. You can only activate two Tux at once, so you "
+"need to remember where a sound is, while you listen to its twin. When you "
+"turn over the twins, they both disappear."
+msgstr ""
+"ë°”ì´ì˜¬ë¦° ì—°ì£¼ìž Tuxë“¤ì´ ë³´ìž…ë‹ˆë‹¤. ê°ê°ì˜ Tuxë“¤ì€ ê·¸ì— ë§žëŠ” 소리를 냅니다. ê·¸"
+"리고 ê° ì†Œë¦¬ë“¤ì€ ë˜‘ê°™ì€ ì†Œë¦¬ê°€ 있습니다. 소리를 들으려면 Tux를 í´ë¦­í•˜ì„¸ìš” ê·¸"
+"리고 ê°™ì€ ì†Œë¦¬ë¥¼ 찾아보세요. í•œë²ˆì— ë‘ê°œì˜ Tux만 ì„ íƒí• ìˆ˜ìžˆìœ¼ë¯€ë¡œ 소리를 찾는"
+"ë™ì•ˆ 소리가 ì–´ë””ì— ìžˆì—ˆëŠ”ì§€ 기억해야합니다. ë˜‘ê°™ì€ ë‹¤ë¥¸ 소리를 찾는다면 ë‘ ê°œ"
+"ê°€ ëª¨ë‘ ì‚¬ë¼ì§‘니다."
+
+#: ../boards/memory_sound.xml.in.h:2
+msgid "Audio memory game"
+msgstr "소리 기억 게임"
+
+#: ../boards/memory_sound.xml.in.h:3
+msgid "Click on Tux the violinist and listen to find the matching sounds"
+msgstr "ë°”ì´ì˜¬ë¦° ì—°ì£¼ìž Tux를 í´ë¦­í•˜ê³  알맞는 소리를 찾아 들어보세요"
+
+#: ../boards/memory_sound.xml.in.h:4 ../boards/memory_sound_tux.xml.in.h:3
+#: ../boards/memory_tux.xml.in.h:3
+msgid "Mouse manipulation, Brain."
+msgstr "마우스 다루기, ë‘뇌."
+
+#: ../boards/memory_sound.xml.in.h:5 ../boards/memory_sound_tux.xml.in.h:5
+msgid "Train your audio memory and remove all the violonists Tux."
+msgstr "소리 ê¸°ì–µì„ ì—°ìŠµí•˜ê³  ë°”ì´ì˜¬ë¦° ì—°ì£¼ìž Tux를 ëª¨ë‘ ì—†ì–´ì§€ê²Œ 하세요."
+
+#: ../boards/memory_sound_tux.xml.in.h:2
+msgid "Audio memory game against Tux"
+msgstr "Tux와 소리 기억게임 하기"
+
+#: ../boards/memory_sound_tux.xml.in.h:4
+msgid "Play the audio memory game against Tux"
+msgstr "Tux와 소리 기억 게임 시작하기"
+
+#: ../boards/memory_tux.xml.in.h:1
+msgid "Have a memory competition with Tux."
+msgstr "Tux와 ê¸°ì–µë ¥ì„ ê²¨ë£¨ì–´ 보세요."
+
+#: ../boards/memory_tux.xml.in.h:2
+msgid "Memory Game with images, against Tux"
+msgstr "Tux와 그림 기억게임 하기"
+
+#: ../boards/memory_tux.xml.in.h:5
+msgid ""
+"You can see a set of cards that all look the same. Each card has a picture "
+"on the other side, and each picture has a twin somewhere in the set. You can "
+"only turn over two cards at once, so you need to remember where the pictures "
+"are until you can find the twin. When you turn over twins, they disappear! "
+"You take turns with Tux, and to win the game, you have to find more pairs of "
+"twins than he does."
+msgstr ""
+"똑같아 ë³´ì´ëŠ” ì¹´ë“œë“¤ì„ ë³¼ 수 있습니다. ê°ê°ì˜ 카드는 ë‹¤ë¥¸íŽ¸ì— ê·¸ë¦¼ì„ ìˆ¨ê¸°ê³  "
+"있습니다. 그리고 ê°ê°ì˜ 그림과 ë˜‘ê°™ì€ ê·¸ë¦¼ì´ ë‹¤ë¥¸ ì¹´ë“œì— ìžˆìŠµë‹ˆë‹¤. í•œë²ˆì— ë‘"
+"ê°œì˜ ì¹´ë“œë§Œ 볼수 있으므로 알맞는 카드를 ì°¾ì„때까지 ê·¸ë¦¼ì´ ì–´ë””ì— ìžˆì—ˆëŠ”ì§€ 기"
+"억해야합니다. ë˜‘ê°™ì€ ê·¸ë¦¼ì„ ì°¾ì•˜ì„ë•Œ, ê·¸ ë‘ê°œì˜ ì¹´ë“œê°€ 사ë¼ì§‘니다! Tux와 함"
+"께 ê²Œìž„ì„ í•  수 있고 ê²Œìž„ì„ ì´ê¸°ë ¤ë©´ Tux보다 ë§Žì€ ì§ì„ 찾으세요."
+
+#: ../boards/menu.xml.in.h:1
+msgid ""
+"A simple click on an icon brings you to an activity or a menu of "
+"activities.\n"
+"At the bottom of the screen is the gcompris control bar.\n"
+"The following icons are displayed from right to left.\n"
+"(note that each icon is displayed only if available in the current "
+"activity)\n"
+" Home - Back to previous menu or exit gcompris if at the top\n"
+" Thumb - OK. Confirm your answer\n"
+" Dice - Display the current level. Click to select another level\n"
+" Music note - Repeat the question\n"
+" Question Mark - Help\n"
+" Tool - The configuration menu\n"
+" Tux Plane - About GCompris\n"
+"The stars show suitable age groups for each game:\n"
+" 1, 2 or 3 simple stars - from 2 to 6 years old\n"
+" 1, 2 or 3 complex stars - 7 years and up"
+msgstr ""
+"ì•„ì´ì½˜ì„ í´ë¦­í•˜ë©´ ë©”ë‰´ì˜ í™œë™ì„ í•  수 있습니다.\n"
+"화면 ì•„ëž˜ìª½ì— gcompris 제어 대가 있습니다.\n"
+"ë‹¤ìŒ ì•„ì´ì½˜ë“¤ì€ 오른쪽ì—ì„œ 왼쪽으로 표시ë©ë‹ˆë‹¤.\n"
+"(ê°ê°ì˜ ì•„ì´ì½˜ë“¤ì€ ê° í™œë™ì—ì„œ 사용ë ë•Œë§Œ 활성화 ë©ë‹ˆë‹¤)\n"
+" 홈 - ì´ì   매뉴로 가기 ë„는 gcompris 를 빠져나와서 초기화면으로 가기\n"
+" 엄지ì†ê°€ë½ - 정답 정하기\n"
+" 주사위 - 현제 레벨 표시하기. 다른 ë ˆë²¨ì„ ì„ íƒí•˜ë ¤ë©´ í´ë¦­í•˜ì„¸ìš”\n"
+" ìŒì•… 공책 - 질문 í•œë²ˆë” í•˜ê¸°\n"
+" 물ìŒí‘œ - ë„움ë§\n"
+" 연장 - 구성 매뉴\n"
+" Tux 비행기- GCompris 정보\n"
+"ë³„ì€ ê°ê°ì˜ ê²Œìž„ì— ì ì ˆí•œ 나ì´ë¥¼ 알려ì¤ë‹ˆë‹¤:\n"
+" 1, 2, 3 개 단순한 별 - 2~6세\n"
+" 1, 2, 3 ê°œ 복잡한 별 - 7세 ì´ìƒ"
+
+#: ../boards/menu.xml.in.h:15
+msgid "GCompris Main Menu"
+msgstr "GCompris ë©”ì¸ ë§¤ë‰´"
+
+#: ../boards/menu.xml.in.h:16 ../src/boards/menu2.c:1009
+msgid ""
+"GCompris is a collection of educational games that provides different "
+"activities for children aged 2 and up."
+msgstr ""
+"GCompris는 2세 ì´ìƒì˜ 어린ì´ë¥¼ 위한 활ë™ë“¤ì„ 모아 ë†“ì€ êµìœ¡ 게임입니다."
+
+#: ../boards/menu.xml.in.h:18
+msgid ""
+"The goal of gcompris is to provide a free alternative to popular proprietary "
+"edutainment software"
+msgstr ""
+"gcomprisì˜ ëª©ì ì€ 대중 êµìœ¡ 소프트웨어 무료 ëŒ€ì²´ë¬¼ì„ ì œê³µí•˜ëŠ”ê²ƒ 입니다."
+
+#: ../boards/miscelaneous.xml.in.h:1
+msgid "Miscellaneous activities"
+msgstr "여러가지 놀ì´"
+
+#: ../boards/miscelaneous.xml.in.h:2
+msgid "Time, Geography, ..."
+msgstr "시간, 지리, ..."
+
+#: ../boards/missing_letter.xml.in.h:1
+msgid ""
+"An object is displayed in the main area, and an incomplete word is printed "
+"under the picture. Select the missing letter to complete the word."
+msgstr ""
+"대ìƒì´ í™”ë©´ì— í‘œì‹œê°€ ë©ë‹ˆë‹¤ 그리고 ê·¸ë¦¼ì˜ ì•„ëž˜ì— ì™„ì „í•˜ì§€ ì•Šì€ ë‹¨ì–´ê°€ 있습니"
+"다. 빠진 글ìžë¥¼ 찾아서 단어를 완성하세요."
+
+#: ../boards/missing_letter.xml.in.h:2
+msgid "Fill in the missing letter"
+msgstr "빠진 글ìžë¥¼ 채워 넣으세요"
+
+#: ../boards/missing_letter.xml.in.h:3
+msgid "Missing Letter"
+msgstr "빠진 글ìž"
+
+#: ../boards/missing_letter.xml.in.h:4
+msgid "Training reading skills"
+msgstr "ì½ê¸° 기술 연습"
+
+#: ../boards/missing_letter.xml.in.h:5
+msgid "Word reading"
+msgstr "단어 ì½ê¸°"
+
+#: ../boards/missing_letter/board1.xml.in.h:1
+msgid "apple/_pple/a/i/o"
+msgstr "apple/_pple/a/i/o"
+
+#: ../boards/missing_letter/board1.xml.in.h:2
+msgid "apple/app_e/l/h/n"
+msgstr "apple/app_e/l/h/n"
+
+#: ../boards/missing_letter/board1.xml.in.h:3
+msgid "apple/appl_/e/h/a"
+msgstr "apple/appl_/e/h/a"
+
+#: ../boards/missing_letter/board1.xml.in.h:4
+msgid "ball/_all/b/p/d"
+msgstr "ball/_all/b/p/d"
+
+#: ../boards/missing_letter/board1.xml.in.h:5
+msgid "ball/b_ll/a/u/o"
+msgstr "ball/b_ll/a/u/o"
+
+#: ../boards/missing_letter/board1.xml.in.h:6
+msgid "ball/bal_/l/h/s"
+msgstr "ball/bal_/l/h/s"
+
+#: ../boards/missing_letter/board1.xml.in.h:7
+msgid "banana/_anana/b/p/d"
+msgstr "banana/_anana/b/p/d"
+
+#: ../boards/missing_letter/board1.xml.in.h:8
+msgid "banana/b_nana/a/o/i"
+msgstr "banana/b_nana/a/o/i"
+
+#: ../boards/missing_letter/board1.xml.in.h:9
+msgid "banana/ba_ana/n/m/b"
+msgstr "banana/ba_ana/n/m/b"
+
+#: ../boards/missing_letter/board1.xml.in.h:10
+msgid "bed/_ed/b/l/f"
+msgstr "bed/_ed/b/l/f"
+
+#: ../boards/missing_letter/board1.xml.in.h:11
+msgid "bed/b_d/e/a/i"
+msgstr "bed/b_d/e/a/i"
+
+#: ../boards/missing_letter/board1.xml.in.h:12
+msgid "bed/be_/d/p/b"
+msgstr "bed/be_/d/p/b"
+
+#: ../boards/missing_letter/board1.xml.in.h:13
+msgid "bottle/_ottle/b/t/p"
+msgstr "bottle/_ottle/b/t/p"
+
+#: ../boards/missing_letter/board1.xml.in.h:14
+msgid "bottle/b_ttle/o/u/d"
+msgstr "bottle/b_ttle/o/u/d"
+
+#: ../boards/missing_letter/board1.xml.in.h:15
+msgid "bottle/bott_e/l/y/r"
+msgstr "bottle/bott_e/l/y/r"
+
+#: ../boards/missing_letter/board1.xml.in.h:16
+msgid "cake/_ake/c/p/d"
+msgstr "cake/_ake/c/p/d"
+
+#: ../boards/missing_letter/board1.xml.in.h:17
+msgid "cake/c_ke/a/o/e"
+msgstr "cake/c_ke/a/o/e"
+
+#: ../boards/missing_letter/board1.xml.in.h:18
+msgid "cake/ca_e/k/q/c"
+msgstr "cake/ca_e/k/q/c"
+
+#: ../boards/missing_letter/board1.xml.in.h:19
+msgid "car/_ar/c/k/b"
+msgstr "car/_ar/c/k/b"
+
+#: ../boards/missing_letter/board1.xml.in.h:20
+msgid "car/c_r/a/k/o"
+msgstr "car/c_r/a/k/o"
+
+#: ../boards/missing_letter/board1.xml.in.h:21
+msgid "car/ca_/r/w/k"
+msgstr "car/ca_/r/w/k"
+
+#: ../boards/missing_letter/board1.xml.in.h:22
+msgid "dog/_og/d/p/q"
+msgstr "dog/_og/d/p/q"
+
+#: ../boards/missing_letter/board1.xml.in.h:23
+msgid "dog/d_g/o/g/a"
+msgstr "dog/d_g/o/g/a"
+
+#: ../boards/missing_letter/board1.xml.in.h:24
+msgid "dog/do_/g/p/q"
+msgstr "dog/do_/g/p/q"
+
+#: ../boards/missing_letter/board1.xml.in.h:25
+msgid "fish/_ish/f/h/l"
+msgstr "fish/_ish/f/h/l"
+
+#: ../boards/missing_letter/board1.xml.in.h:26
+msgid "fish/f_sh/i/u/l"
+msgstr "fish/f_sh/i/u/l"
+
+#: ../boards/missing_letter/board1.xml.in.h:27
+msgid "fish/fis_/h/o/i"
+msgstr "fish/fis_/h/o/i"
+
+#: ../boards/missing_letter/board1.xml.in.h:28
+msgid "house/_ouse/h/e/j"
+msgstr "house/_ouse/h/e/j"
+
+#: ../boards/missing_letter/board1.xml.in.h:29
+msgid "house/h_use/o/f/u"
+msgstr "house/h_use/o/f/u"
+
+#: ../boards/missing_letter/board1.xml.in.h:30
+msgid "house/hous_/e/a/i"
+msgstr "house/hous_/e/a/i"
+
+#: ../boards/missing_letter/board1.xml.in.h:31
+msgid "plane/_lane/p/g/d"
+msgstr "plane/_lane/p/g/d"
+
+#: ../boards/missing_letter/board1.xml.in.h:32
+msgid "plane/p_ane/l/j/i"
+msgstr "plane/p_ane/l/j/i"
+
+#: ../boards/missing_letter/board1.xml.in.h:33
+msgid "plane/pl_ne/a/o/s"
+msgstr "plane/pl_ne/a/o/s"
+
+#: ../boards/missing_letter/board1.xml.in.h:34
+msgid "satchel/_atchel/s/c/l"
+msgstr "satchel/_atchel/s/c/l"
+
+#: ../boards/missing_letter/board1.xml.in.h:35
+msgid "satchel/s_tchel/a/o/i"
+msgstr "satchel/s_tchel/a/o/i"
+
+#: ../boards/missing_letter/board1.xml.in.h:36
+msgid "satchel/sa_chel/t/p/c"
+msgstr "satchel/sa_chel/t/p/c"
+
+#: ../boards/money.xml.in.h:1 ../boards/money_cents.xml.in.h:1
+msgid "Can count"
+msgstr "셀 수 있다"
+
+#: ../boards/money.xml.in.h:2 ../boards/money_cents.xml.in.h:2
+msgid ""
+"Click on the coins or paper money at the bottom of the screen to pay. If you "
+"want to remove a coin or note, click on it on the upper screen area."
+msgstr ""
+"지불하려면 화면 ì•„ëž˜ì˜ ë™ì „ì´ë‚˜ 지í를 í´ë¦­í•˜ì„¸ìš”. ë™ì „ì´ë‚˜ 노트를 없애고 싶"
+"으면 화면 ìœ„ì— ìžˆëŠ”ê²ƒì„ í´ë¦­í•˜ì„¸ìš”."
+
+#: ../boards/money.xml.in.h:3 ../boards/money_cents.xml.in.h:3
+msgid "Money"
+msgstr "ëˆ"
+
+#: ../boards/money.xml.in.h:4
+msgid "Practice money usage"
+msgstr "ëˆ ì‚¬ìš© 연습"
+
+#: ../boards/money.xml.in.h:5 ../boards/money_cents.xml.in.h:5
+msgid ""
+"You must buy the different items and give the exact price. At higher levels, "
+"several items are displayed, and you must first calculate the total price."
+msgstr ""
+"다른 ë¬¼ê±´ì„ ì‚¬ì•¼ë§Œ 하고 정확한 ê°’ì„ ì§€ë¶ˆí•´ì•¼í•©ë‹ˆë‹¤. ë” ë†’ì€ ë‹¨ê³„ ì—서는 몇가"
+"지 ë¬¼ê±´ë“¤ì´ í‘œì‹œë˜ê³  í•©í•œ ê°’ì„ ê³„ì‚°í•´ì•¼í•©ë‹ˆë‹¤."
+
+#: ../boards/money_cents.xml.in.h:4
+msgid "Practice money usage including cents"
+msgstr "센트를 í¬í•¨í•œ ëˆ ì‚¬ìš© 연습하기"
+
+#: ../boards/mosaic.xml.in.h:1
+msgid "Rebuild the mosaic"
+msgstr "모ìžì´í¬ 완성하기"
+
+#: ../boards/mouse.xml.in.h:1
+msgid "Mouse-manipulation activities."
+msgstr "마우스를 ì´ìš©í•œ 게임"
+
+#: ../boards/mouse.xml.in.h:2
+msgid "Various mouse-based activities (clicking, moving)"
+msgstr "여러가지 마우스 를 ì´ìš©í•œ 게임 (í´ë¦­, 움ì§ì´ê¸°)"
+
+#: ../boards/numeration.xml.in.h:1
+msgid "Numeration"
+msgstr "숫ìžì„¸ê¸°"
+
+#: ../boards/numeration.xml.in.h:2
+msgid "Numeration activities."
+msgstr "숫ìžì„¸ê¸° 놀ì´."
+
+#: ../boards/oscar_and_friends.xml.in.h:1
+msgid "Improve reading skill and the ability to understand what is read."
+msgstr "ì½ê¸° 능력과 ë‚´ìš© ì´í•´ 능력 í–¥ìƒì‹œí‚¤ê¸°."
+
+#: ../boards/oscar_and_friends.xml.in.h:2
+msgid "Read and play with the story"
+msgstr "ê¸€ì„ ì½ê³  ê·¸ ë‚´ìš© 연극하기"
+
+#: ../boards/oscar_and_friends.xml.in.h:3
+msgid "The story of Oscar and friend"
+msgstr "오스카와 친구들 ì´ì•¼ê¸°"
+
+#: ../boards/oscar_and_friends.xml.in.h:4
+msgid "reading"
+msgstr "ì½ê¸°"
+
+#: ../boards/paintings.xml.in.h:1
+msgid "Assemble the puzzle"
+msgstr "í¼ì¦ 맞추기"
+
+#: ../boards/paintings.xml.in.h:2
+msgid "Drag and Drop the items to rebuild the original paintings"
+msgstr "ì›ëž˜ì˜ ê·¸ë¦¼ì„ ì™„ì„±í•˜ê¸°ìœ„í•´ì„œ ê·¸ë¦¼ì„ ëŒì–´ì„œ 놓으세요"
+
+#: ../boards/paintings.xml.in.h:3
+msgid ""
+"Drag the image parts from the box on the left to create a painting on the "
+"main board."
+msgstr "박스ì—ì„œ ê·¸ë¦¼ì„ ëŒì–´ 와서 ë³´ë“œì— ê·¸ë¦¼ì„ ë§Œë“¤ì–´ 보세요."
+
+#: ../boards/paintings.xml.in.h:4
+msgid "Mouse-manipulation: movement, drag and drop"
+msgstr "마우스 다루기: ì´ë™, ëŒì–´ì„œ 놓기"
+
+#: ../boards/paintings.xml.in.h:5
+msgid "Spatial representation"
+msgstr "ê³µê°„ì  í‘œí˜„"
+
+#: ../boards/paintings/board1_0.xml.in.h:1
+msgid "Edgar Degas, The Dancing Class - 1873-75"
+msgstr "ì—드가 ë°ê°€ìŠ¤, 댄스 수업 - 1873-75"
+
+#: ../boards/paintings/board2_0.xml.in.h:1
+msgid "Pierre-Auguste Renoir, Le Moulin de la Galette - 1876"
+msgstr "Pierre-Auguste Renoir, Le Moulin de la Galette - 1876"
+
+#: ../boards/paintings/board3_0.xml.in.h:1
+msgid "Pierre-Auguste Renoir, Girls At The Piano - 1892"
+msgstr "Pierre-Auguste Renoir, Girls At The Piano - 1892"
+
+#: ../boards/paintings/board3_1.xml.in.h:1
+msgid "Kandinsky, Wassily, Composition VIII - 1923"
+msgstr "Kandinsky, Wassily, Composition VIII - 1923"
+
+#: ../boards/paintings/board3_1.xml.in.h:2
+msgid "Oil on canvas, 140 x 201 cm; Solomon R. Guggenheim Museum, New York"
+msgstr "Oil on canvas, 140 x 201 cm; Solomon R. Guggenheim Museum, New York"
+
+#: ../boards/paintings/board4_0.xml.in.h:1
+msgid "Bazille, The Ramparts at Aigues-Mortes - 1867"
+msgstr "Bazille, The Ramparts at Aigues-Mortes - 1867"
+
+#: ../boards/paintings/board5_0.xml.in.h:1
+msgid "Cassatt, Mary - Summertime - 1894"
+msgstr "Cassatt, Mary - Summertime - 1894"
+
+#: ../boards/paintings/board6_0.xml.in.h:1
+msgid "Vincent Van Gogh, Village Street in Auvers - 1890"
+msgstr "Vincent Van Gogh, Village Street in Auvers - 1890"
+
+#: ../boards/paratrooper.xml.in.h:1
+msgid "Help Tux the parachutist land safely"
+msgstr "Tuxê°€ 낙하산으로 안전하게 착지하ë„ë¡ ë„와주세요"
+
+#: ../boards/paratrooper.xml.in.h:2
+msgid ""
+"Hit any key or click on the plane to make Tux jump. Hit another key or click "
+"on Tux to open the parachute."
+msgstr ""
+"Tuxê°€ ì í”„하게 하려면 아무 키나 누르거나 í´ë¦­ì„ 하세요. Tuxê°€ ë‚™í•˜ì‚°ì„ íŽ´ê²Œ "
+"하려면 키를 누르거나 í´ë¦­ì„ 하세요."
+
+#: ../boards/paratrooper.xml.in.h:3
+msgid ""
+"In this game, Tux the parachutist needs help to land safely on the fishing "
+"boat. He needs to allow for the wind direction and speed."
+msgstr ""
+"ì´ ê²Œìž„ì—서는 Tuxê°€ 낙하산으로 ë‚šì‹œë°°ì— ì•ˆì „í•˜ê²Œ 착지하ë„ë¡ ë„우는 것입니다. "
+"ë°”ëžŒì˜ ë°©í–¥ê³¼ ì†ë„ì— ë§žì¶”ì–´ì•¼ 합니다."
+
+#: ../boards/paratrooper.xml.in.h:4
+msgid "Parachutist"
+msgstr "낙하산 타는 펭귄"
+
+#: ../boards/paratrooper.xml.in.h:5
+msgid "This board is game-oriented. No specific skills are needed to play."
+msgstr "ì´ ë³´ë“œëŠ” ê²Œìž„ì„ í•˜ê¸° 위한것ì´ê³  다른 ê¸°ìˆ ì€ í•„ìš” 없습니다."
+
+#: ../boards/planegame.xml.in.h:1
+msgid ""
+"Catch the numbers in increasing order, using the up, down, right and left "
+"arrows on the keyboard to move the helicopter."
+msgstr ""
+"í‚¤ë³´ë“œì˜ ìœ„, 아래, 오른쪽, 왼쪽 화살표를 ì´ìš©í•´ 헬리콥터를 움ì§ì—¬ì„œ 숫ìžê°€ 커"
+"지는 순서대로 숫ìžë¥¼ 잡으세요."
+
+#: ../boards/planegame.xml.in.h:2
+msgid "Move the helicopter to catch the clouds in the correct order"
+msgstr "헬리콥터를 움ì§ì—¬ì„œ 알맞는 ìˆœì„œì˜ êµ¬ë¦„ì„ ìž¡ìœ¼ì„¸ìš”"
+
+#: ../boards/planegame.xml.in.h:3
+msgid "Number"
+msgstr "숫ìž"
+
+#: ../boards/planegame.xml.in.h:4 ../src/boards/planegame.c:74
+msgid "Numbers in Order"
+msgstr "헬기"
+
+#: ../boards/puzzle.xml.in.h:1
+msgid "Puzzles"
+msgstr "í¼ì¦"
+
+#: ../boards/puzzle.xml.in.h:2
+msgid "Various puzzles."
+msgstr "여러가지 í¼ì¦."
+
+#: ../boards/pythontest.xml.in.h:1
+msgid "Add a language-binding to gcompris."
+msgstr "Add a language-binding to gcompris."
+
+#: ../boards/pythontest.xml.in.h:2
+msgid "Advanced Python Programmer :)"
+msgstr "Advanced Python Programmer :)"
+
+#: ../boards/pythontest.xml.in.h:3
+msgid "Python Test"
+msgstr "Python 테스트"
+
+#: ../boards/pythontest.xml.in.h:4
+msgid "Test board for the python plugin"
+msgstr "phthon í”ŒëŸ¬ê·¸ì¸ í…ŒìŠ¤íŠ¸ ë³´ë“œ"
+
+#: ../boards/pythontest.xml.in.h:5
+msgid ""
+"Thanks to Guido van Rossum and the python team for this powerful language!"
+msgstr "ì´ëŸ¬í•œ 강력한 ì–¸ì–´ì— Guido van Rossumê³¼ python 팀ì—게 ê°ì‚¬í•©ë‹ˆë‹¤!"
+
+#: ../boards/railroad.xml.in.h:1
+msgid "A memory game based on trains"
+msgstr "기차로 하는 기억 게임"
+
+#: ../boards/railroad.xml.in.h:2
+msgid ""
+"A train - a locomotive and carriage(s) - is displayed at the top of the main "
+"area for a few seconds. Rebuild it at the top of the screen by selecting the "
+"appropriate carriages and locomotive. Deselect an item by clicking on it "
+"again. Check your construction by clicking on the hand at the bottom."
+msgstr ""
+"기차 - 기관차와 ê°ì°¨(들) - 는 주 ì˜ì—­ì˜ ìœ—ìª½ì— ëª‡ì´ˆê°„ 표시ë©ë‹ˆë‹¤. 알맞는 기"
+"관차와 ê°ì°¨ë¥¼ ì„ íƒí•´ì„œ 화면 ìœ„ì— ìž¬ ë°°ì—´ 하세요. í•œë²ˆë” í´ë¦­í•´ì„œ 다시 ì„ íƒí•  "
+"수 있습니다. ì•„ëž˜ì— ìžˆëŠ” ì† ëª¨ì–‘ì„ í´ë¦­í•´ì„œ ì¡°í•©ì„ ì‹œí—˜ í•´ 보세요."
+
+#: ../boards/railroad.xml.in.h:3
+msgid "Memory-training"
+msgstr "기억 훈련"
+
+#: ../boards/railroad.xml.in.h:5
+msgid "Railway"
+msgstr "ì² ë„"
+
+#: ../boards/read_colors.xml.in.h:2
+msgid "Click on the correct colored object."
+msgstr "알맞는 ìƒ‰ê¹”ì˜ ëŒ€ìƒì„ í´ë¦­í•˜ì„¸ìš”."
+
+#: ../boards/read_colors.xml.in.h:3
+msgid "Click on the matching color"
+msgstr "알맞는 ìƒ‰ê¹”ì„ í´ë¦­í•˜ì„¸ìš”"
+
+#: ../boards/read_colors.xml.in.h:4
+msgid "Read the names of colors"
+msgstr "ìƒ‰ê¹”ì˜ ì´ë¦„ì„ ì½ì–´ë³´ì„¸ìš”"
+
+#: ../boards/read_colors.xml.in.h:5
+msgid "This board teaches basic colors."
+msgstr "ì´ ë³´ë“œëŠ” 기본 ìƒ‰ê¹”ì„ ê°€ë¥´ì³ ì¤ë‹ˆë‹¤."
+
+#: ../boards/read_colors/board1.xml.in.h:1
+msgid "black"
+msgstr "검정"
+
+#: ../boards/read_colors/board1.xml.in.h:2
+msgid "blue"
+msgstr "파랑"
+
+#: ../boards/read_colors/board1.xml.in.h:3
+msgid "brown"
+msgstr "갈색"
+
+#: ../boards/read_colors/board1.xml.in.h:4
+msgid "green"
+msgstr "ì´ˆë¡"
+
+#: ../boards/read_colors/board1.xml.in.h:5
+msgid "grey"
+msgstr "회색"
+
+#: ../boards/read_colors/board1.xml.in.h:6
+msgid "orange"
+msgstr "오렌지색"
+
+#: ../boards/read_colors/board1.xml.in.h:7
+msgid "pink"
+msgstr "분í™"
+
+#: ../boards/read_colors/board1.xml.in.h:8
+msgid "red"
+msgstr "빨강"
+
+#: ../boards/read_colors/board1.xml.in.h:9
+msgid "violet"
+msgstr "ë³´ë¼"
+
+#: ../boards/read_colors/board1.xml.in.h:10
+msgid "white"
+msgstr "í°ìƒ‰"
+
+#: ../boards/read_colors/board1.xml.in.h:11
+msgid "yellow"
+msgstr "노랑"
+
+#: ../boards/reading.xml.in.h:1
+msgid "Go to the Reading activities"
+msgstr "ì½ê¸° 놀ì´"
+
+#: ../boards/reading.xml.in.h:2
+msgid "Reading activities."
+msgstr "ì½ê¸° 놀ì´"
+
+#: ../boards/readingh.xml.in.h:1 ../boards/readingv.xml.in.h:1
+msgid ""
+"A word is shown at the top right of the board. A list of words will appear "
+"and disappear on the left. Does the given word belong to the list?"
+msgstr ""
+"단어가 ë³´ë“œì˜ ì˜¤ë¥¸ìª½ ìœ„ì— ë³´ìž…ë‹ˆë‹¤. ë‹¨ì–´ì˜ ëª©ë¡ì´ ì™¼ìª½ì— ìƒê²¼ë‹¤ê°€ 사ë¼ì§ˆ 것 "
+"입니다. 주어진 단어가 목ë¡ì— í¬í•¨ë˜ì–´ 있나요?"
+
+#: ../boards/readingh.xml.in.h:2
+msgid "Horizontal reading practice"
+msgstr "ìˆ˜í‰ ì½ê¸° 연습"
+
+#: ../boards/readingh.xml.in.h:3
+msgid "Read a list of words and work out if a given word is in it"
+msgstr "ë‹¨ì–´ì˜ ëª©ë¡ì„ ì½ê³  단어가 목ë¡ì— ì†í•´ 있는지 알아보세요"
+
+#: ../boards/readingh.xml.in.h:5
+msgid "Reading training in a limited time"
+msgstr "ì œí•œëœ ì‹œê°„ì— ì½ê¸° 연습"
+
+#: ../boards/readingv.xml.in.h:2
+msgid "Read a vertical list of words and work out if a given word is in it"
+msgstr "ìˆ˜ì§ ë‹¨ì–´ 목ë¡ì„ ì½ê³  주어진 단어가 목ë¡ì— 있는지 알아보세요"
+
+#: ../boards/readingv.xml.in.h:3
+msgid "Read training in a limited time"
+msgstr "ì œí•œëœ ì‹œê°„ì— ì½ê¸° 훈련"
+
+#: ../boards/readingv.xml.in.h:5
+msgid "Vertical-reading practice"
+msgstr "ìˆ˜ì§ ì½ê¸° 연습"
+
+#: ../boards/redraw.xml.in.h:1
+msgid "Copy a drawing from the box on the right into the box on the left."
+msgstr ""
+"오른쪽 ìƒìžì—ì„œ ê·¸ë¦¼ì„ ë³µì‚¬í•´ì„œ 왼쪽 ìƒìžì— 넣으세요."
+
+#: ../boards/redraw.xml.in.h:2
+msgid ""
+"First, select the proper tool from the toolbar. Then drag the mouse to "
+"create objects. When you are done, click on the OK button. Errors will be "
+"marked with a little red cross. The order of objects (above/under) is not "
+"important but be careful not to end up with unwanted objects under others."
+msgstr ""
+"첫번째로, 알맞는 ë„구ìƒìžì—ì„œ 알맞는 ë„구를 ì„ íƒí•˜ì„¸ìš”. 그리고 마우스를 ëŒì–´"
+"ì„œ 대ìƒì„ 만드세요. 그리기를 ë마쳤으면 OK ë²„íŠ¼ì„ ëˆ„ë¥´ì„¸ìš”. ìž‘ì€ ë¹¨ê°„ 줄로 오"
+"류가 표시ë ê²ƒìž…니다. 순서(위/아래)는 중요하지 않지만 ì ì ˆí•˜ì§€ ì•Šì€ ê²ƒì´ ë“¤ì–´"
+"가지 ì•Šë„ë¡ ì£¼ì˜í•˜ì„¸ìš”."
+
+#: ../boards/redraw.xml.in.h:3
+msgid "Redraw the given item"
+msgstr "주어진 ê²ƒì„ ë‹¤ì‹œ 그리세요"
+
+#: ../boards/redraw_symmetrical.xml.in.h:1
+msgid ""
+"Copy the mirror image of an object from the box on the right into the box on "
+"the left."
+msgstr "ê±°ìš¸ì† ê·¸ë¦¼ì„ ì˜¤ë¥¸ìª½ ìƒìžì—ì„œ 복사해서 왼쪽 ë°•ìŠ¤ì— ë„£ìœ¼ì„¸ìš”."
+
+#: ../boards/redraw_symmetrical.xml.in.h:2
+msgid ""
+"First, select the proper tool from the toolbar. Then drag the mouse to "
+"create objects. When you are done, click on the OK button. A little red "
+"cross will show you where something isn't right yet. The order of objects "
+"(above/under) is not important but be careful not to end up with unwanted "
+"objects under others."
+msgstr ""
+"첫번째로, 알맞는 ë„구를 ë„구ìƒìžì—ì„œ ì„ íƒí•˜ì„¸ìš”. 그리고 마우스를 ëŒì–´ì„œ 첫번"
+"째로, 알맞는 ë„구ìƒìžì—ì„œ 알맞는 ë„구를 ì„ íƒí•˜ì„¸ìš”. 그리고 마우스를 ëŒì–´ì„œ 대"
+"ìƒì„ 만드세요. 그리기를 ë마쳤으면 OK ë²„íŠ¼ì„ ëˆ„ë¥´ì„¸ìš”. ìž‘ì€ ë¹¨ê°„ 줄로 오류가 "
+"표시ë ê²ƒìž…니다. 순서(위/아래)는 중요하지 않지만 ì ì ˆí•˜ì§€ ì•Šì€ ê²ƒì´ ë“¤ì–´ê°€ì§€ "
+"ì•Šë„ë¡ ì£¼ì˜í•˜ì„¸ìš”."
+
+#: ../boards/redraw_symmetrical.xml.in.h:3
+msgid "Mirror the given item"
+msgstr "주어진 ê²ƒì„ ë°˜ì‚¬í•˜ì„¸ìš”"
+
+#: ../boards/reversecount.xml.in.h:1
+msgid ""
+"Can move the mouse, can read numbers and subtract numbers up to 10 for the "
+"first level"
+msgstr "첫 단계로 마우스를 움ì§ì´ê³  숫ìžë¥¼ ì½ì–´ì„œ 10 ì´ìƒì˜ 숫ìžë¥¼ 빼세요"
+
+#: ../boards/reversecount.xml.in.h:2
+msgid ""
+"Click on the dice to show how many ice spots there are between Tux and the "
+"fish. Click the dice with the right mouse button to count backwards. When "
+"done, click on the OK button or hit the Enter key."
+msgstr ""
+"Tux와 물고기 사ì´ì— ëª‡ê°œì˜ ëˆˆì´ ìžˆëŠ”ì§€ ë³´ì´ê¸° 위해서 주사위를 í´ë¦­í•˜ì„¸ìš”. 주"
+"사위를 마우스 오른족 버튼으로 í´ë¦­í•´ì„œ 숫ìžë¥¼ 뒤로 세세요. 다 했다면, OK 버튼"
+"ì„ í´ë¦­í•˜ê±°ë‚˜ 엔터키를 치세요."
+
+#: ../boards/reversecount.xml.in.h:3
+msgid "Practice subtraction with a fun game"
+msgstr "물고기 먹기"
+
+#: ../boards/reversecount.xml.in.h:4
+msgid "Tux is hungry. Help him find fish by counting to the correct ice spot."
+msgstr ""
+"Tux는 ë°°ê°€ 고파요. 알맞는 ì£¼ì‚¬ìœ„ì˜ ì ì˜ 갯수를 세어서 물고기를 찾아 Tux를 ë„와주세"
+"ìš”."
+
+#: ../boards/scales/board1_0.xml.in.h:1 ../boards/scales/board1_1.xml.in.h:1
+#: ../boards/scales/board1_2.xml.in.h:1 ../boards/scales/board1_3.xml.in.h:1
+#: ../boards/scales/board1_4.xml.in.h:1 ../boards/scales/board1_5.xml.in.h:1
+#: ../boards/scales/board2_0.xml.in.h:1 ../boards/scales/board2_1.xml.in.h:1
+#: ../boards/scales/board2_2.xml.in.h:1 ../boards/scales/board2_3.xml.in.h:1
+#: ../boards/scales/board2_4.xml.in.h:1 ../boards/scales/board2_5.xml.in.h:1
+#: ../boards/scales/board3_0.xml.in.h:1 ../boards/scales/board3_1.xml.in.h:1
+#: ../boards/scales/board3_2.xml.in.h:1 ../boards/scales/board3_3.xml.in.h:1
+#: ../boards/scales/board3_4.xml.in.h:1 ../boards/scales/board3_5.xml.in.h:1
+#: ../boards/scalesboard.xml.in.h:2
+msgid "Drag and Drop masses to balance the scales"
+msgstr "ë¬¼ê±´ë“¤ì„ ëŒì–´ 놓아서 ì €ìš¸ì˜ ê· í˜•ì„ ë§žì¶”ì„¸ìš”"
+
+#: ../boards/scalesboard.xml.in.h:1
+msgid "Balance the scales properly"
+msgstr "ì €ìš¸ì˜ ê· í˜•ì„ ë§žì¶”ì„¸ìš”"
+
+#: ../boards/scalesboard.xml.in.h:3
+msgid "Mental calculation, arithmetic equality"
+msgstr "암산, 등ì‹"
+
+#: ../boards/scalesboard.xml.in.h:4
+msgid ""
+"The painting is an original painting created by Virginie MOREAU (virginie."
+"moreau@free.fr) in 2001. Its name is 'Spices Seller in Egypt'. It is "
+"released under the GPL licence."
+msgstr ""
+"ì´ ê·¸ë¦¼ì€ Virginie MOREAU (virginie.moreau@free.fr)ì´ 2001ë…„ì— ë§Œë“  ì›ë³¸ 입니"
+"다. ê·¸ë¦¼ì˜ ì´ë¦„ì€ 'ì´ì§‘íŠ¸ì˜ í–¥ì‹ ë£Œ 파는사람' 입니다. ì´ê²ƒì€ GPL ë¼ì´ì„¼ìŠ¤ë¡œ ë°œ"
+"ê°„ë˜ì—ˆìŠµë‹ˆë‹¤"
+
+#: ../boards/scalesboard.xml.in.h:5
+msgid ""
+"To balance the scales, move the masses on the left side. The masses can be "
+"arranged in any order."
+msgstr ""
+"ì €ìš¸ì˜ ê· í˜•ì„ ë§žì¶”ë ¤ë©´ ì™¼ìª½ì˜ ë¬¼ê±´ë“¤ì„ ì›€ì§ì´ì„¸ìš”. ë¬¼ê±´ë“¤ì˜ ìˆœì„œëŠ” ìƒê´€ì—†ìŠµë‹ˆ"
+"다."
+
+#: ../boards/searace.xml.in.h:1
+msgid "Direct your boat accurately to win the race."
+msgstr "보트를 정확하게 향해서 경주를 ì´ê¸°ì„¸ìš”."
+
+#: ../boards/searace.xml.in.h:2 ../boards/searace1player.xml.in.h:2
+msgid ""
+"In the text entry, enter one command per line, to control your boat. "
+"Commands supported are displayed between the two entry areas. The 'left' and "
+"'right' commands must be followed by an angle in degrees. The angle value is "
+"also called a 'parameter' to the left or right command. By default 45 "
+"degrees is used. The 'forward' command accepts a distance parameter. By "
+"default 1 is used. For example: left 90 => Make a perpendicular left turn "
+"forward 10 => Go forward for 10 units (as displayed on the ruler). The goal "
+"is to reach the right of the screen (the red line). When done, you can try "
+"to improve your program and start a new race with the same weather "
+"conditions by using the retry button. You can click and drag your mouse "
+"anywhere on the map to get a measurement in distance and angle. Going to the "
+"next level will give you more complex weather conditions."
+msgstr ""
+"보트를 조종하려면 í…스트 목ë¡ì—ì„œ í•œì¤„ì— í•œê°œì”© 명령어를 입력하세요 실행ë˜ëŠ” "
+"ëª…ë ¹ë“¤ì€ ëª©ë¡ì˜ì—­ 사ì´ì— 표시뒵니다. '왼쪽'ê³¼ '오른쪽' ëª…ë ¹ì€ ê°ë„ì— ë”°ë¼ì•¼ "
+"합니다. ê°ë„ê°’ì€ ì™¼ìª½ê³¼ 오른쪽 ëª…ë ¹ì— ëŒ€í•´ '변수'입니다. ì´ˆê¸°ê°’ì€ 45ë„ ìž…ë‹ˆ"
+"다. '앞으로' ëª…ë ¹ì€ ê±°ë¦¬ 변수를 받습니다. ì´ˆê¸°ê°’ì€ 1 입니다. 예: 왼쪽 90 => "
+"ìˆ˜ì§ ì™¼ìª½ 회전하기 앞으로 10 => 앞으로 10 유닛(ìžì— ë‚˜íƒ€ë‚œê²ƒì— ë”°ë¼) 가기. 목"
+"표는 í™”ë©´ì˜ ì˜¤ë¥¸ìª½ì— ë„달하는것 입니다(빨간줄). ë„달ë˜ë©´, í”„ë¡œê·¸ëž¨ì„ í–¥ìƒì‹œí‚¬"
+"수 있고 재시작 ë²„íŠ¼ì„ ì´ìš©í•´ì„œ ê°™ì€ í™˜ê²½ì—ì„œ ê²Œìž„ì„ ë‹¤ì‹œ í•  수 있습니다. ê°ë„"
+"와 거리를 조절하기 위해서 마우스는 어디서나 í´ë¦­í•˜ê³  드래그 할수있습니다. 다"
+"ìŒ ë‹¨ê³„ë¡œ 가면 ë” ë³µìž¡í•œ 환경ì—ì„œ ê²Œìž„ì„ í•˜ê²Œ ë©ë‹ˆë‹¤."
+
+#: ../boards/searace.xml.in.h:3 ../boards/searace1player.xml.in.h:3
+msgid ""
+"In this activity, you will learn how to enter commands into a computer. Even "
+"if the language is extremely basic, you learn here how to think ahead and "
+"construct a program. This activity can be used to introduce the programming "
+"concept to children."
+msgstr ""
+"ì´ë²ˆì—는, ì»´í“¨í„°ì— ì–´ë–»ê²Œ ëª…ë ¹ì„ ë„£ëŠ”ì§€ 배우게 ë©ë‹ˆë‹¤. 언어가 매우 단순하ë”ë¼"
+"ë„ ì–´ë–»ê²Œ ìƒê°í•˜ê³  í”„ë¡œê·¸ëž¨ì„ ë§Œë“œëŠ”ì§€ 배우게 ë©ë‹ˆë‹¤. ì´ í™œë™ì€ ì•„ì´ë“¤ì—게 프"
+"로그래ë°ì˜ ê°œë…ì„ ì†Œê°œí•˜ëŠ”ë° ì‚¬ìš© ë  ìˆ˜ 있습니다."
+
+#: ../boards/searace.xml.in.h:4
+msgid "Sea race (2 Players)"
+msgstr "바다 경주 (2명)"
+
+#: ../boards/searace1player.xml.in.h:1
+msgid "Give good instructions to your ship in order to be first in the race."
+msgstr "ê²½ì£¼ì— ì´ê¸°ë ¤ë©´ ìžê¸° 배를 잘 조종하세요."
+
+#: ../boards/searace1player.xml.in.h:4
+msgid "Sea race (Single Player)"
+msgstr "바다 경주 (1명)"
+
+#: ../boards/smallnumbers.xml.in.h:1 ../boards/smallnumbers2.xml.in.h:1
+msgid "Count the number of dots on dice before they reach the ground"
+msgstr "ë•…ì— ë‹¿ê¸°ì „ì— ì£¼ì‚¬ìœ„ì— ìžˆëŠ” ì ì˜ 갯수를 입력하세요"
+
+#: ../boards/smallnumbers.xml.in.h:2 ../boards/smallnumbers2.xml.in.h:2
+msgid "Counting skills"
+msgstr "숫ìžì„¸ê¸° 기술"
+
+#: ../boards/smallnumbers.xml.in.h:3 ../boards/smallnumbers2.xml.in.h:3
+msgid "In a limited time, count the number of dots"
+msgstr "ì œí•œëœ ì‹œê°„ì— ì ì˜ 갯수를 세세요"
+
+#: ../boards/smallnumbers.xml.in.h:4
+msgid "Numbers With Dice"
+msgstr "주사위 ì ì„¸ê¸°"
+
+#: ../boards/smallnumbers.xml.in.h:5 ../boards/smallnumbers2.xml.in.h:5
+msgid "With the keyboard, type the number of dots you see on the falling dice."
+msgstr "키보드로 떨어지는 주사위ì—ì„œ 본 ì ì˜ 갯수를 ì ìœ¼ì„¸ìš”."
+
+#: ../boards/smallnumbers2.xml.in.h:4
+msgid "Numbers with pairs of dice"
+msgstr "ë‘ ì£¼ì‚¬ìœ„ì— ìžˆëŠ” ì ì˜ 갯수 세기"
+
+#: ../boards/sound_group.xml.in.h:1
+msgid "Go to Sound activities"
+msgstr "소리 놀ì´ë¡œ 가기"
+
+#: ../boards/sound_group.xml.in.h:2
+msgid "Sound based activities."
+msgstr "소리로 하는 놀ì´ë“¤."
+
+#: ../boards/strategy.xml.in.h:1
+msgid "Strategy games"
+msgstr "전략 게임"
+
+#: ../boards/strategy.xml.in.h:2
+msgid "Strategy games like chess, connect4, ..."
+msgstr "전술 게임(체스, connect4, ..."
+
+#: ../boards/submarine.xml.in.h:1
+msgid ""
+"Click on different active elements : engine, rudders and air tanks, in order "
+"to navigate to the required depth."
+msgstr ""
+"요구ë˜ëŠ” 깊ì´ê¹Œì§€ 가기 위해서 다른 추진 요소를 í´ë¦­í•˜ì„¸ìš” : 엔진, 방향키, ê³µ"
+"기탱í¬."
+
+#: ../boards/submarine.xml.in.h:2
+msgid "Learn how a submarine works"
+msgstr "ìž ìˆ˜í•¨ì´ ì–´ë–»ê²Œ ë™ìž‘하는지 배우기"
+
+#: ../boards/submarine.xml.in.h:3
+msgid "Physics basics"
+msgstr "물리 기초"
+
+#: ../boards/submarine.xml.in.h:4
+msgid "Pilot a submarine"
+msgstr "ìž ìˆ˜í•¨ì„ ì¡°ì¢…í•˜ì„¸ìš”"
+
+#: ../boards/submarine.xml.in.h:5
+msgid "Pilot a submarine using air tanks and dive rudders"
+msgstr "공기탱í¬ì™€ ì—”ì§„ì„ ì¡°ìž‘í•˜ì—¬ 잠수함 조정하기"
+
+#: ../boards/sudoku.xml.in.h:1
+msgid "Completing the puzzle requires patience and logical ability"
+msgstr "í¼ì¦ë§žì¶”기 경기는 ì¸ë‚´ì™€ ë…¼ë¦¬ì  ëŠ¥ë ¥ì„ ìš”êµ¬í•©ë‹ˆë‹¤"
+
+#: ../boards/sudoku.xml.in.h:2
+msgid ""
+"For the first level with colored symbols, drag symbols on the left to their "
+"target position. For the higher levels, click on an empty square to give it "
+"the keyboard focus. Then enter a possible letter or number. GCompris will "
+"not let you enter invalid data."
+msgstr ""
+"첫번째 단계ì—서는 색깔 í‘œë³¸ì„ ì™¼ìª½ 목표물까지 ëŒê³ ê°€ì„¸ìš”. ë” ë†’ì€ ë‹¨ê³„ì—서는 "
+"ë¹ˆê³µê°„ì„ í´ë¦­í•´ì„œ í‚¤ë³´ë“œì˜ ì´›ì ì„ 맞추세요. 그래서 가능한 글ìžë‚˜ 숫ìžë¥¼ 넣으"
+"세요. GCompris 는 알맞지 ì•Šì€ ì •ë³´ë¥¼ ìž…ë ¥ í•  수 없습니다."
+
+#: ../boards/sudoku.xml.in.h:3
+msgid "Sudoku, place unique symbols in a square."
+msgstr "수ë„ì¿ , 특정한 í‘œë³¸ì„ ì‚¬ê°í˜• ì•Šì— ë„£ìœ¼ì„¸ìš”."
+
+#: ../boards/sudoku.xml.in.h:4
+msgid ""
+"Symbols must be unique in a row, in a column, and (if defined) each region."
+msgstr ""
+"í‘œë³¸ë“¤ì€ ì¤„ê³¼ ì—´, ë˜ëŠ” ê°ê°ì˜ ì˜ì—­(표시ë˜ì—ˆë‹¤ë©´) ì—ì„œ 하나ì´ì–´ì•¼ 합니다."
+
+#: ../boards/sudoku.xml.in.h:5
+msgid ""
+"The aim of the puzzle is to enter a symbol or numeral from 1 through 9 in "
+"each cell of a grid, most frequently a 9x9 grid made up of 3x3 subgrids "
+"(called 'regions'), starting with various symbols or numerals given in some "
+"cells (the 'givens'). Each row, column and region must contain only one "
+"instance of each symbol or numeral (Source &lt;http://en.wikipedia.org/wiki/"
+"Sudoku&gt;)."
+msgstr ""
+"í¼ì¦ì˜ 목표는 기호나 숫ìž(1~9)를 ê²©ìž ì•ˆì— ì§‘ì–´ 넣는 것입니다. 3x3 ìž‘ì€ ê²©ìž"
+"ë¡œ êµ¬ì„±ëœ ì£¼ì–´ì§„ ì¹¸ì— ì—¬ëŸ¬ê°€ì§€ 기호와 숫ìžë¡œ êµ¬ì„±ëœ 9x9격ìžê°€ 많습니다. ê°ê°"
+"ì˜ ì¤„, ì—´, ì§€ì—­ì€ ì˜¤ì§ í•˜ë‚˜ì˜ ê¸°í˜¸ë‚˜ 숫ìžë§Œì„ í¬í•¨í•´ì•¼í•©ë‹ˆë‹¤. (Source &lt;"
+"http://en.wikipedia.org/wiki/Sudoku&gt;)."
+
+#: ../boards/superbrain.xml.in.h:1
+msgid ""
+"Click on the items until you find what you think is the correct answer. "
+"Then, click on the OK button in the control bar. In the lower levels, Tux "
+"gives you an indication if you found a hiding place by marking the item with "
+"a black box. You can use the right mouse button to flip the colors in the "
+"opposite order."
+msgstr ""
+"ìƒê°í–ˆë˜ ê²ƒì´ ì•Œë§žëŠ” 답ì¼ë•Œê¹Œì§€ ì•„ì´í…œì„ í´ë¦­í•˜ì„¸ìš”. 그다ìŒ, ì»¨íŠ¸ë¡¤ë°”ì— ìžˆëŠ” "
+"OKë²„íŠ¼ì„ í´ë¦­í•˜ì„¸ìš”. ë‚®ì€ ë‹¨ê³„ì—서는, 숨겨진 장소를 찾아서 ê²€ì€ ìƒìžë¡œ 표시했"
+"ì„ë•Œ Tuxê°€ 지시를 할것입니다. ë°˜ëŒ€ìª½ì— ìžˆëŠ” 숫ìžë¥¼ 바꾸기 위해서 마우스 오른"
+"쪽 ë²„íŠ¼ì„ ì‚¬ìš©í•  수 있습니다."
+
+#: ../boards/superbrain.xml.in.h:2 ../src/boards/superbrain.c:106
+msgid "Super Brain"
+msgstr "ìŠˆí¼ ë‘뇌"
+
+#: ../boards/superbrain.xml.in.h:3 ../src/boards/superbrain.c:107
+msgid "Tux has hidden several items. Find them again in the correct order"
+msgstr ""
+"Tuxê°€ 몇가지 ì•„ì´í…œì„ 숨기고 있습니다. 알맞는 순서로 ê·¸ê²ƒë“¤ì„ ë‹¤ì‹œ 찾으세요"
+
+#: ../boards/tangram.xml.in.h:1
+msgid ""
+"From Wikipedia, the free encyclopedia. Tangram (Chinese: literally \"seven "
+"boards of cunning\") is a Chinese puzzle. While the tangram is often said to "
+"be ancient, its existence has only been verified as far back as 1800. It "
+"consists of 7 pieces, called tans, which fit together to form a square; "
+"taking the square as the unit:\n"
+"\t* 5 right isosceles triangles\n"
+"\t\to 2 small (legs of 1)\n"
+"\t\to 1 medium size (legs of square root of 2)\n"
+"\t\to 2 large size (legs of 2)\n"
+"\t* 1 square (side of 1)\n"
+"\t* 1 parallelogram (sides of 1 and square root of 2)"
+msgstr ""
+"Wikipedia 백과사전ì—ì„œ Tangram(중국어: \"ì¼ê³± ë³´ë“œ 컨ë‹\")ì€ ì¤‘êµ­ í¼ì¦ì´ë¼ê³  "
+"나와 있습니다. tangramì€ ê³ ì „ìœ¼ë¡œ 불리고 있지만 ì´ê²ƒì€ 1800년대 ì´í›„ì—서나 ì¡´"
+"재한다고 합니다. ì´ê²ƒì€ 7ê°œì˜ tanì´ë¼ê³  불리는 ì¡°ê°ë“¤ë¡œ ì´ë£¨ì–´ ì ¸ 있고 모여"
+"ì„œ ì • 사ê°í˜•ì„ 만듭들어 í•˜ë‚˜ì˜ ê°œì²´ë¥¼ 형성합니다:\n"
+"\t* 5ê°œ ì§ê° ì´ë“±ë³€ 삼ê°í˜•\n"
+"\t\to 2ê°œ ìž‘ì€ê²ƒ(변중 하나)\n"
+"\t\to 1ê°œ 중간 í¬ê¸°ì˜ê²ƒ(ë‘ê°œì˜ ì œê³±ê·¼ì¸ ë³€)\n"
+"\t\to 2ê°œ í°ê²ƒ(2 ë³€)\n"
+"\t* 1ê°œ 정사ê°í˜•(1쪽 ë©´)\n"
+"\t* 1ê°œ í‰í–‰ì‚¬ë³€í˜• ( 1ì˜ í•œë©´, 2ì˜ ì œê³±ê·¼)"
+
+#: ../boards/tangram.xml.in.h:9
+msgid ""
+"Select the tangram to form. Move a piece by dragging it. Right-click on it "
+"to create a symmetrical item. Select an item and drag around it to show the "
+"rotation you want. Once you've shown what shape you want, the computer will "
+"create it. If you need help, click on the shape button, and the border of "
+"the shape will be drawn."
+msgstr ""
+"tangram ì„ ì„ íƒí•˜ì„¸ìš”. 드래그 í•´ì„œ í•œ ì¡°ê°ì„ ì„ íƒí•˜ì„¸ìš”. 오른쪽 í´ë¦­ìœ¼ë¡œ 대칭"
+"으로 만들수 있습니다. 하나를 ì„ íƒí•´ì„œ ì›í•˜ëŠ” íšŒì „ì„ ë³´ì´ë ¤ë©´ ê·¸ê²ƒì„ ë“œëž˜ê·¸í•˜"
+"세요. ì›í•˜ëŠ” ëª¨ì–‘ì„ ë³´ì˜€ë‹¤ë©´, 컴퓨터가 ê·¸ê²ƒì„ ë§Œë“¤ê²ƒìž…ë‹ˆë‹¤. ë„ì›€ì´ í•„ìš”í•˜ë‹¤"
+"ë©´ 모양 ë²„íŠ¼ì„ í´ë¦­í•˜ì„¸ìš” 그러면 ê·¸ ëª¨ì–‘ì˜ ê°€ìž¥ìžë¦¬ê°€ 그려질것입니다."
+
+#: ../boards/tangram.xml.in.h:10
+msgid "The objective is to form a given shape with seven pieces"
+msgstr "ì¼ê³±ì¡°ê°ìœ¼ë¡œ 주어진 ëª¨ì–‘ì„ ë§Œë“œëŠ” 것입니다"
+
+#: ../boards/tangram.xml.in.h:11
+msgid ""
+"The original code was written by Philippe Banwarth in 1999. It was ported to "
+"GCompris by Yves Combe in 2005."
+msgstr ""
+"오리지날 코드는 Philippe Banwarth ì— ì˜í•´ì„œ 1999ì— ì“°ì—¬ì¡ŒìŠµë‹ˆë‹¤. ì´ê²ƒì€ "
+"GCompris ë¡œ Yves Combeì— ì˜í•´ 2005ë…„ì— ì´ì „ë˜ì—ˆìŠµë‹ˆë‹¤."
+
+#: ../boards/tangram.xml.in.h:12
+msgid "The tangram puzzle game"
+msgstr "tangram í¼ì¦ 게임"
+
+#: ../boards/target.xml.in.h:1
+msgid ""
+"Can move the mouse, can read numbers and count up to 15 for the first level"
+msgstr "첫 단계ì—서는 마우스를 움ì§ì¼ìˆ˜ 있고 숫ìžë¥¼ 15 ì´ìƒ ì½ì„ 수 있습니다"
+
+#: ../boards/target.xml.in.h:2
+msgid ""
+"Check the wind speed and direction, and then click on the target to launch a "
+"dart. When you all your darts are thrown, a window appears asking you to "
+"count your score. Enter the score with the keyboard then press the Enter key "
+"or the OK button."
+msgstr ""
+"ë°”ëžŒì˜ ì†ë„와 ë°©í–¥ì„ ê³ ë ¤í•˜ê³ , 다트를 맞출 목표를 í´ë¦­í•˜ì„¸ìš”. 만약 다트를 다 "
+"ë˜ì¡‹ë‹¤ë©´ ì ìˆ˜ë¥¼ 세는 ì°½ì´ ë‚˜íƒ€ë‚  것 입니다. 키보드로 ì ìˆ˜ë¥¼ 입력하고 엔터키"
+"를 치거나 OKë²„íŠ¼ì„ ëˆ„ë¥´ì„¸ìš”."
+
+#: ../boards/target.xml.in.h:3
+msgid "Hit the target and count your points"
+msgstr "ëª©í‘œë¬¼ì„ ë§žì¶”ê³  ì ìˆ˜ë¥¼ 세어보세요"
+
+#: ../boards/target.xml.in.h:4
+msgid "Practice addition with a target game"
+msgstr "목표물 맞추기로 ë§ì…ˆ 연습하기"
+
+#: ../boards/target.xml.in.h:5
+msgid "Throw darts at a target and count your score."
+msgstr "ëª©í‘œë¬¼ì„ í–¥í•´ 다트를 ë˜ì§€ê³  ì ìˆ˜ë¥¼ 세어보세요."
+
+#: ../boards/traffic.xml.in.h:1
+msgid "A sliding-block puzzle game"
+msgstr "주차장 게임"
+
+#: ../boards/traffic.xml.in.h:2
+msgid ""
+"Each car can only move either horizontally or vertically. You must make some "
+"room in order to let the red car move through the gate on the right."
+msgstr ""
+"ê°ê°ì˜ 차는 수í‰ì´ë‚˜ 수ì§ìœ¼ë¡œë§Œ 움ì§ì¼ 수 있습니다. 빨간 차가 ì˜¤ë¥¸ìª½ì˜ í†µë¡œ"
+"ë¡œ 나가게 하려면 ê³µê°„ì„ ë§Œë“¤ì–´ì•¼ 합니다."
+
+#: ../boards/traffic.xml.in.h:3
+msgid "Remove the red car from the parking lot through the gate on the right"
+msgstr "ì˜¤ë¥¸ìª½ì˜ í†µë¡œë¥¼ 통해서 ì£¼ì°¨ìž¥ì— ìžˆëŠ” 빨간 차를 빼내세요"
+
+#: ../boards/tuxpaint.xml.in.h:1
+msgid "Drawing activity (pixmap)"
+msgstr "그리기 활ë™(pixmap)"
+
+#: ../boards/tuxpaint.xml.in.h:2
+msgid "Launch Tuxpaint"
+msgstr "Tuxpaint 실행"
+
+#: ../boards/tuxpaint.xml.in.h:3
+msgid "Tuxpaint"
+msgstr "Tuxpaint"
+
+#: ../boards/tuxpaint.xml.in.h:4
+msgid "Use Tuxpaint to draw. When Tuxpaint is finished this board will end."
+msgstr ""
+"그리기를 하려면 Tuxpaint를 사용하세요. ì´ ë³´ë“œê°€ ë나면 Tuxpaintë„ ì¢…ë£Œë©ë‹ˆ"
+"다."
+
+#: ../boards/tuxpaint.xml.in.h:5
+msgid "mouse and keyboard manipulation"
+msgstr "마우스와 키보드 다루기"
+
+#: ../boards/watercycle.xml.in.h:1
+msgid ""
+"Click on different active elements : sun, cloud, water pump station, and "
+"water cleanup station, in order to reactivate the entire water system. When "
+"the system is back up and Tux is in the shower, push the shower button for "
+"him."
+msgstr ""
+"물 공급 ì‹œìŠ¤í…œì„ ë‹¤ì‹œ 활성화 시키려면 다른 í™œë™ ìš”ì†Œë¥¼ í´ë¦­í•˜ì„¸ìš” : í•´, 구"
+"름, 물펌프장, 물세íƒìž¥. ì‹œìŠ¤í…œì´ í™œì„±í™”ë˜ê³  Tuxê°€ 샤워를 하려면 샤워 ë²„íŠ¼ì„ "
+"누르세요."
+
+#: ../boards/watercycle.xml.in.h:2
+msgid "Learn about the water cycle"
+msgstr "ë¬¼ì˜ ìˆœí™˜ 배우기"
+
+#: ../boards/watercycle.xml.in.h:3
+msgid "Learn the water cycle"
+msgstr "ë¬¼ì˜ ìˆœí™˜ 배우기"
+
+#: ../boards/watercycle.xml.in.h:4
+msgid ""
+"Tux has come back from a long fishing party on his boat. Bring the water "
+"system back up so he can take a shower."
+msgstr ""
+"Tuxê°€ 보트ì—ì„œ 긴 낚시를 ëë‚´ê³  ëŒì•„왔습니다. ìˆ˜ë„ ì‹œìŠ¤í…œì„ í™œì„±í™” 시켜서 샤"
+"워를 할수 있ë„ë¡ í•˜ì„¸ìš”."
+
+#: ../boards/wordsgame.xml.in.h:1 ../src/boards/wordsgame.c:110
+msgid "Falling Words"
+msgstr "떨어지는 단어"
+
+#: ../boards/wordsgame.xml.in.h:3
+msgid "Keyboard training"
+msgstr "키보드 훈련"
+
+#: ../boards/wordsgame.xml.in.h:4
+msgid "Type the complete word as it falls, before it reachs the ground"
+msgstr "떨어지는 단어를 ë•…ì— ë‹¿ê¸° ì „ì— ì •í™•ížˆ 입력하세요"
+
+#: ../boards/wordsgame.xml.in.h:5 ../src/boards/wordsgame.c:111
+msgid "Type the falling words before they reach the ground"
+msgstr "떨어지는 단어를 ë•…ì— ë‹¿ê¸° ì „ì— ìž…ë ¥í•˜ì„¸ìš”"
+
+#: ../gcompris-edit.desktop.in.h:1
+msgid "Administration for gcompris"
+msgstr "gcompris 관리"
+
+#: ../gcompris.desktop.in.h:1
+msgid "Educational game for ages 2 to 10"
+msgstr "2~10세 ì•„ì´ë“¤ì˜ 위한 êµìœ¡ 게임"
+
+#: ../gcompris.desktop.in.h:2
+msgid "Educational suite GCompris"
+msgstr "êµìœ¡ ë„우미 GCompris"
+
+#: ../gcompris.desktop.in.h:3
+msgid "Multi-activity educational game"
+msgstr "여러가지 êµìœ¡ í™œë™ ê²Œìž„"
+
+#: ../src/boards/awele.c:352 ../src/boards/awele.c:362
+msgid "NORTH"
+msgstr "ë¶ìª½"
+
+#: ../src/boards/awele.c:374 ../src/boards/awele.c:384
+msgid "SOUTH"
+msgstr "남쪽"
+
+#: ../src/boards/awele.c:553
+msgid "Choose a house"
+msgstr "ì§‘ì„ ì„ íƒí•˜ì„¸ìš”"
+
+#: ../src/boards/awele.c:681
+msgid "Your turn to play ..."
+msgstr "ë‹¹ì‹ ì´ í•  차례 입니다"
+
+#: ../src/boards/awele.c:750
+msgid "Not allowed! Try again !"
+msgstr "안ë©ë‹ˆë‹¤! 다시 해보세요 !"
+
+#: ../src/boards/chess.c:179
+msgid "Error: The external program gnuchess died unexpectedly"
+msgstr ""
+
+#: ../src/boards/chess.c:194
+#, fuzzy
+msgid ""
+"Error: The external program gnuchess is required\n"
+"to play chess in gcompris.\n"
+"Find this program on http://www.rpmfind.net or in your\n"
+"GNU/Linux distribution\n"
+"And check it is located here: "
+msgstr ""
+"오류: The external program gnuchess is mandatory\n"
+"gcomprisì—ì„œ 체스 게임하기.\n"
+"http://www.rpmfind.net ì—ì„œ ì´ í”„ë¡œê·¸ëž¨ì„ ì°¾ìœ¼ì„¸ìš”\n"
+"GNU/Linux ë°°í¬\n"
+"그리고 ì´ê³³ì— 있는지 확ì¸í•´ 보세요: "
+
+#: ../src/boards/chess.c:236
+#, fuzzy
+msgid ""
+"Error: The external program gnuchess is mandatory\n"
+"to play chess in gcompris.\n"
+"First install it, and check it is in "
+msgstr ""
+"Error: The external program gnuchess is mandatory\n"
+"gcomprisì—ì„œ 체스게임 하기.\n"
+"http://www.rpmfind.net ì—ì„œ ì´ í”„ë¡œê·¸ëž¨ì„ ì°¾ìœ¼ì„¸ìš”\n"
+"GNU/Linux ë°°í¬\n"
+"그리고 ì´ê³³ì— 있는지 확ì¸í•´ 보세요: "
+
+#: ../src/boards/chess.c:579
+msgid "White's Turn"
+msgstr "í°ìƒ‰ 차례"
+
+#: ../src/boards/chess.c:579
+msgid "Black's Turn"
+msgstr "ê²€ì€ìƒ‰ 차례"
+
+#: ../src/boards/chess.c:723
+msgid "White checks"
+msgstr "í°ìƒ‰ ì²´í¬"
+
+#: ../src/boards/chess.c:725
+msgid "Black checks"
+msgstr "ê²€ì€ìƒ‰ ì²´í¬"
+
+#: ../src/boards/chess.c:1082
+msgid "Black mates"
+msgstr "ê²€ì€ìƒ‰ ì²´í¬ë‹¹í•¨"
+
+#: ../src/boards/chess.c:1087
+msgid "White mates"
+msgstr "í°ìƒ‰ ì²´í¬ë‹¹í•¨"
+
+#: ../src/boards/chess.c:1092 ../src/gcompris/bonus.c:342
+#: ../src/gcompris/bonus.c:351
+msgid "Drawn game"
+msgstr "그리기 게임"
+
+#: ../src/boards/chess.c:1120
+msgid "Error: The external program gnuchess died unexpectingly"
+msgstr ""
+
+#: ../src/boards/click_on_letter.c:259 ../src/boards/memory.c:827
+msgid ""
+"Error: this activity cannot be played with the\n"
+"sound effects disabled.\n"
+"Go to the configuration dialog to\n"
+"enable the sound"
+msgstr ""
+"오류: ì´ í™œë™ì€ ê°™ì´ í•  수 없습니다\n"
+"ìŒí–¥ 효과 사ë¼ì§.\n"
+"조합 대화창으로 가기\n"
+"소리 켜기"
+
+#. TRANSLATORS: Put here the alphabet in your language
+#. require by all utf8-functions
+#. TRANSLATORS: Put here the alphabet lowercase in your language
+#: ../src/boards/click_on_letter.c:264 ../src/boards/gletters.c:231
+#: ../src/boards/memory.c:848
+msgid "abcdefghijklmnopqrstuvwxyz"
+msgstr "abcdefghijklmnopqrstuvwxyz"
+
+#: ../src/boards/click_on_letter.c:286
+#, c-format
+msgid ""
+"Error: this activity requires that you first install\n"
+"the packages with gcompris voices for the locale '%s' or '%s'"
+msgstr ""
+"오류: ì´ í™œë™ì€ ì²˜ìŒ ì„¤ì¹˜í•œê²ƒì´ í•„ìš”í•©ë‹ˆë‹¤\n"
+"gcompris 소리 ê¾¸ëŸ¬ë¯¸ì˜ ìœ„ì¹˜ëŠ” '%s' or '%s'입니다."
+
+#: ../src/boards/click_on_letter.c:294
+#, c-format
+msgid ""
+"Error: this activity requires that you first install\n"
+"the packages with GCompris voices for the locale '%s' ! Fallback to english, "
+"sorry!"
+msgstr ""
+"오류: ì´ í™œë™ì€ ì²˜ìŒ ì„¤ì¹˜í•œ ê²ƒì´ í•„ìš”í•©ë‹ˆë‹¤\n"
+"gcompris 소리 ê¾¸ëŸ¬ë¯¸ì˜ ìœ„ì¹˜ëŠ” '%s'입니다! ì˜ì–´ë¡œ ëŒì•„가세요, 죄송합니다"
+
+#. toggle box
+#: ../src/boards/click_on_letter.c:646 ../src/boards/gletters.c:898
+#: ../src/boards/python/login.py:540
+msgid "Uppercase only text"
+msgstr "대문ìžë§Œ 있는 글"
+
+#: ../src/boards/clockgame.c:552 ../src/boards/clockgame.c:562
+msgid "Set the watch to:"
+msgstr "시계를 맞추세요:"
+
+#: ../src/boards/colors.c:54
+msgid "Click on the blue duck"
+msgstr "파란 오리를 í´ë¦­í•˜ì„¸ìš”"
+
+#: ../src/boards/colors.c:55
+msgid "Click on the brown duck"
+msgstr "갈색 오리를 í´ë¦­í•˜ì„¸ìš”"
+
+#: ../src/boards/colors.c:56
+msgid "Click on the green duck"
+msgstr "ì´ˆë¡ìƒ‰ 오리를 í´ë¦­í•˜ì„¸ìš”"
+
+#: ../src/boards/colors.c:57
+msgid "Click on the grey duck"
+msgstr "회색 오리를 í´ë¦­í•˜ì„¸ìš”"
+
+#: ../src/boards/colors.c:58
+msgid "Click on the orange duck"
+msgstr "오랜지색 오리를 í´ë¦­í•˜ì„¸ìš”"
+
+#: ../src/boards/colors.c:59
+msgid "Click on the purple duck"
+msgstr "ë³´ë¼ìƒ‰ 오리를 í´ë¦­í•˜ì„¸ìš”"
+
+#: ../src/boards/colors.c:60
+msgid "Click on the red duck"
+msgstr "빨간 오리를 í´ë¦­í•˜ì„¸ìš”"
+
+#: ../src/boards/colors.c:61
+msgid "Click on the yellow duck"
+msgstr "노란 오리를 í´ë¦­í•˜ì„¸ìš”"
+
+#: ../src/boards/colors.c:62
+msgid "Click on the black duck"
+msgstr "ê²€ì€ ì˜¤ë¦¬ë¥¼ í´ë¦­í•˜ì„¸ìš”"
+
+#: ../src/boards/colors.c:63
+msgid "Click on the white duck"
+msgstr "í°ìƒ‰ 오리를 í´ë¦­í•˜ì„¸ìš”"
+
+#. TRANSLATORS: Put here the numbers in your language
+#: ../src/boards/gletters.c:227 ../src/boards/memory.c:844
+msgid "0123456789"
+msgstr "0123456789"
+
+#. TRANSLATORS: Put here the alphabet uppercase in your language
+#: ../src/boards/gletters.c:237 ../src/boards/memory.c:854
+msgid "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+msgstr "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+
+#: ../src/boards/hanoi.c:332 ../src/boards/hanoi.c:343
+msgid ""
+"Build the same tower in the empty area as the one you see on the right-hand "
+"side."
+msgstr "오른쪽ì—ì„œ 본 것과 ê°™ì€ íƒ‘ì„ ë¹ˆ ê³µê°„ì— ì§€ìœ¼ì„¸ìš”."
+
+#: ../src/boards/hanoi_real.c:72
+msgid "Tower of Hanoi"
+msgstr "í•˜ë…¸ì´ íƒ‘"
+
+#: ../src/boards/hanoi_real.c:273 ../src/boards/hanoi_real.c:284
+msgid "Move the entire stack to the right peg, one disc at a time"
+msgstr "쌓ì€ê²ƒ 모ë‘를 오른쪽 ì기 디스í¬ì— í•œë²ˆì— ì˜®ê¸°ì„¸ìš”"
+
+#: ../src/boards/imageid.c:104 ../src/boards/missingletter.c:102
+msgid "Learn how to read"
+msgstr "ì½ëŠ”법 배우기"
+
+#: ../src/boards/leftright.c:277 ../src/boards/leftright.c:287
+#: ../src/boards/python/searace.py:428 ../src/boards/python/searace.py:453
+#: ../src/boards/python/searace.py:543 ../src/boards/python/searace.py:855
+#: ../src/boards/python/searace.py:888 ../src/boards/python/searace.py:985
+msgid "left"
+msgstr "왼쪽"
+
+#: ../src/boards/leftright.c:297 ../src/boards/leftright.c:307
+#: ../src/boards/python/searace.py:428 ../src/boards/python/searace.py:453
+#: ../src/boards/python/searace.py:552 ../src/boards/python/searace.py:857
+#: ../src/boards/python/searace.py:890 ../src/boards/python/searace.py:979
+msgid "right"
+msgstr "오른쪽"
+
+#: ../src/boards/maze.c:492
+msgid ""
+"Look at your position, then switch back to invisible mode to continue your "
+"moves"
+msgstr "ìžê¸°ì˜ 위치를 ë³´ê³  ê³„ì† ì›€ì§ì´ê¸° 위해 안보ì´ëŠ” ìƒíƒœë¡œ 전환 하세요"
+
+#: ../src/boards/maze.c:494
+msgid ""
+"Look at your position, then switch back to 3D mode to continue your moves"
+msgstr "ìžê¸°ì˜ 위치를 ë³´ê³  ê³„ì† ì›€ì§ì´ê¸° 위해 3D ìƒíƒœë¡œ 전환하세요"
+
+#: ../src/boards/memory.c:287
+msgid "Memory"
+msgstr "기억"
+
+#: ../src/boards/memory.c:288
+msgid "Find the matching pair"
+msgstr "알맞는 ì§ì„ 찾으세요"
+
+#. TRANSLATORS: Put here the mathematical operators "+-?" for your language.
+#: ../src/boards/memory.c:859
+msgid "+-×÷"
+msgstr ""
+
+#: ../src/boards/menu2.c:131
+msgid "Main Menu Second Version"
+msgstr "ë©”ì¸ ë©”ë‰´ ë‘번째 버젼"
+
+#: ../src/boards/menu2.c:132
+msgid "Select a Board"
+msgstr "보드를 ì„ íƒí•˜ì„¸ìš”"
+
+#. Set here the way to display money. Change only the money sign, and it's place, always keep %.2f, it will be replaced by 0,34 if decimal is ',' in your locale
+#: ../src/boards/money.c:488
+#, c-format
+msgid "$ %.2f"
+msgstr "$ %.2f"
+
+#: ../src/boards/money.c:501
+#, c-format
+msgid "$ %.0f"
+msgstr "$ %.0f"
+
+#: ../src/boards/planegame.c:75
+msgid "Move the plane to catch the clouds in the correct order"
+msgstr "알맞는 순서로 êµ¬ë¦„ì„ ìž¡ê¸° 위해 비행기를 움ì§ì´ì„¸ìš”"
+
+#: ../src/boards/python.c:62 ../src/boards/python.c:86
+msgid "Python Board"
+msgstr "비단뱀 보드"
+
+#: ../src/boards/python.c:63 ../src/boards/python.c:87
+msgid "Special board that embeds python into gcompris."
+msgstr "비단뱀 보드를 gcomprisì— í¬í•¨í•˜ëŠ” 특별한 ë³´ë“œ"
+
+#: ../src/boards/python/admin/board_list.py:89
+msgid "Select a profile:"
+msgstr "ìœ¤ê³½ì„ ì„ íƒí•˜ì„¸ìš”:"
+
+#: ../src/boards/python/admin/board_list.py:145
+msgid "Filter"
+msgstr "í•„í„°"
+
+#: ../src/boards/python/admin/board_list.py:150
+msgid "Select all"
+msgstr "ì „ì²´ ì„ íƒ"
+
+#: ../src/boards/python/admin/board_list.py:155
+msgid "Unselect all"
+msgstr "ì „ì²´ ì„ íƒ í•´ì œ"
+
+#: ../src/boards/python/admin/board_list.py:160
+msgid "Locales"
+msgstr "장소"
+
+#: ../src/boards/python/admin/board_list.py:165
+msgid "Locales sound"
+msgstr "현장 소리"
+
+#: ../src/boards/python/admin/board_list.py:170
+msgid "Wordlist"
+msgstr "단어목ë¡"
+
+#: ../src/boards/python/admin/board_list.py:177
+#: ../src/boards/python/admin/group_user_list.py:144
+#: ../src/boards/python/admin/user_list.py:186
+msgid "Login"
+msgstr "로그ì¸"
+
+#: ../src/boards/python/admin/board_list.py:235
+msgid "Main menu"
+msgstr "ë©”ì¸ ë§¤ë‰´"
+
+#. columns for Board name
+#. column_pref = gtk.TreeViewColumn(_('Conf'))
+#. image = gtk.image_new_from_stock(gtk.STOCK_PREFERENCES, gtk.ICON_SIZE_MENU)
+#. image.show()
+#. column_pref.set_widget(image)
+#: ../src/boards/python/admin/board_list.py:292
+msgid "Active"
+msgstr "활ë™ì "
+
+#: ../src/boards/python/admin/board_list.py:293
+msgid "Board title"
+msgstr "보드 제목"
+
+#: ../src/boards/python/admin/board_list.py:409
+#, python-format
+msgid "Filter Boards difficulty for profile %s"
+msgstr "윤곽ì—ì„œ í•„í„°ë³´ë“œì˜ ë‚œì´ë„ %s"
+
+#: ../src/boards/python/admin/board_list.py:440
+#, python-format
+msgid ""
+"<span size='x-large'> Select the difficulty range \n"
+"for profile <b>%s</b></span>"
+msgstr ""
+"<span size='x-large'> ë‚œì´ë„ 범위를 ì„ íƒí•˜ì„¸ìš” \n"
+"윤곽 ì—ì„œ <b>%s</b></span>"
+
+#. Init configuration window:
+#. all the configuration functions will use it
+#. all the configuration functions returns values for their key in
+#. the dict passed to the apply_callback
+#. the returned value is the main GtkVBox of the window,
+#. we can add what you want in it.
+#: ../src/boards/python/admin/board_list.py:631
+#: ../src/boards/python/admin/board_list.py:649
+#: ../src/boards/python/admin/wordlist.py:50 ../src/boards/python/login.py:535
+#: ../src/boards/python/pythontest.py:409 ../src/boards/python/tuxpaint.py:183
+#, python-format
+msgid ""
+"<b>%s</b> configuration\n"
+" for profile <b>%s</b>"
+msgstr ""
+"<b>%s</b> ì¡°í•©\n"
+" for profile <b>%s</b>"
+
+#: ../src/boards/python/admin/board_list.py:661
+#: ../src/boards/python/pythontest.py:473
+msgid "Select sound locale"
+msgstr "ì†Œë¦¬ì˜ ìœ„ì¹˜ë¥¼ ì„ íƒí•˜ì„¸ìš”"
+
+#: ../src/boards/python/admin/class_edit.py:60
+msgid "Editing a Class"
+msgstr "반 편집"
+
+#: ../src/boards/python/admin/class_edit.py:65
+msgid "Editing class: "
+msgstr "반 편집: "
+
+#: ../src/boards/python/admin/class_edit.py:68
+msgid "Editing a new class"
+msgstr "새 반 편집하기"
+
+#: ../src/boards/python/admin/class_edit.py:90
+msgid "Class:"
+msgstr "ë°˜:"
+
+#. FIXME: How to remove the default selection
+#. Label and Entry for the teacher name
+#: ../src/boards/python/admin/class_edit.py:103
+msgid "Teacher:"
+msgstr "ì„ ìƒë‹˜:"
+
+#: ../src/boards/python/admin/class_edit.py:113
+msgid "Assign all the users belonging to this class"
+msgstr "모든 사용ìžë“¤ì„ ì´ ë°˜ì— ì†í•˜ë„ë¡ ì§€ì •í•˜ì„¸ìš”"
+
+#: ../src/boards/python/admin/class_edit.py:253
+#: ../src/boards/python/admin/group_edit.py:265
+#: ../src/boards/python/admin/group_user_list.py:154
+#: ../src/boards/python/admin/user_list.py:196
+msgid "First Name"
+msgstr "ì´ë¦„"
+
+#: ../src/boards/python/admin/class_edit.py:264
+#: ../src/boards/python/admin/group_edit.py:276
+#: ../src/boards/python/admin/group_user_list.py:164
+#: ../src/boards/python/admin/user_list.py:206
+msgid "Last Name"
+msgstr "성"
+
+#: ../src/boards/python/admin/class_edit.py:341
+msgid "You need to provide at least a name for your class"
+msgstr "ë°˜ì— ì´ë¦„ì„ ì•Œë ¤ 주어야 합니다"
+
+#: ../src/boards/python/admin/class_edit.py:387
+msgid "There is already a class with this name"
+msgstr "ê°™ì€ ì´ë¦„ì˜ ë°˜ì´ ìžˆìŠµë‹ˆë‹¤"
+
+#: ../src/boards/python/admin/class_list.py:169
+#: ../src/boards/python/admin/profile_edit.py:269
+#: ../src/boards/python/admin/profile_group_list.py:144
+msgid "Class"
+msgstr "ë°˜"
+
+#: ../src/boards/python/admin/class_list.py:179
+msgid "Teacher"
+msgstr "ì„ ìƒë‹˜"
+
+#: ../src/boards/python/admin/group_edit.py:60
+msgid "Editing a Group"
+msgstr "그룹 편집하기"
+
+#: ../src/boards/python/admin/group_edit.py:66
+msgid "Editing group: "
+msgstr "그룹 편집: "
+
+#: ../src/boards/python/admin/group_edit.py:67
+msgid " for class: "
+msgstr " ë°˜: "
+
+#: ../src/boards/python/admin/group_edit.py:70
+msgid "Editing a new group"
+msgstr "새 그룹 편집하기"
+
+#: ../src/boards/python/admin/group_edit.py:90
+msgid "Group:"
+msgstr "그룹:"
+
+#. FIXME: How to remove the selection
+#. Label and Entry for the first name
+#: ../src/boards/python/admin/group_edit.py:102
+#: ../src/boards/python/admin/profile_edit.py:98
+msgid "Description:"
+msgstr "설명:"
+
+#. Top message gives instructions
+#: ../src/boards/python/admin/group_edit.py:113
+msgid "Assign all the users belonging to this group"
+msgstr "모든 사용ìžë“¤ì„ ì´ ê·¸ë£¹ì— ì†í•˜ë„ë¡ ì§€ì •í•˜ì„¸ìš”"
+
+#: ../src/boards/python/admin/group_edit.py:359
+msgid "You need to provide at least a name for your group"
+msgstr "ê·¸ë£¹ì— ì´ë¦„ 하나를 알려 주어야 합니다"
+
+#: ../src/boards/python/admin/group_edit.py:373
+msgid "There is already a group with this name"
+msgstr "ê°™ì€ ì´ë¦„ì˜ ê·¸ë£¹ì´ ì´ë¯¸ 있습니다"
+
+#: ../src/boards/python/admin/group_list.py:86
+msgid "Select a class:"
+msgstr "ë°˜ì„ ì„ íƒí•˜ì„¸ìš”:"
+
+#: ../src/boards/python/admin/group_list.py:214
+#: ../src/boards/python/admin/profile_edit.py:279
+#: ../src/boards/python/admin/profile_group_list.py:154
+msgid "Group"
+msgstr "그룹"
+
+#: ../src/boards/python/admin/group_list.py:225
+#: ../src/boards/python/admin/profile_edit.py:289
+#: ../src/boards/python/admin/profile_group_list.py:164
+#: ../src/boards/python/admin/profile_list.py:198
+msgid "Description"
+msgstr "설명"
+
+#: ../src/boards/python/admin/group_list.py:322
+msgid "You must first select a group in the list"
+msgstr "먼저 목ë¡ì— 있는 ê·¸ë£¹ì„ ì„ íƒí•´ì•¼ 합니다"
+
+#: ../src/boards/python/admin/group_user_list.py:174
+#: ../src/boards/python/admin/user_list.py:216
+msgid "Birth Date"
+msgstr "ìƒì¼"
+
+#: ../src/boards/python/admin/module_boards.py:42
+#: ../src/boards/python/admin/module_boards.py:62
+msgid "Boards"
+msgstr "보드"
+
+#: ../src/boards/python/admin/module_groups.py:40
+#: ../src/boards/python/admin/module_groups.py:66
+msgid "Groups"
+msgstr "그룹"
+
+#: ../src/boards/python/admin/module_profiles.py:40
+#: ../src/boards/python/admin/module_profiles.py:65
+msgid "Profiles"
+msgstr "프로필"
+
+#: ../src/boards/python/admin/module_users.py:41
+#: ../src/boards/python/admin/module_users.py:67
+msgid "Classes"
+msgstr "ë°˜"
+
+#: ../src/boards/python/admin/module_users.py:41
+#: ../src/boards/python/admin/module_users.py:67
+msgid "Users"
+msgstr "사용ìž"
+
+#: ../src/boards/python/admin/profile_edit.py:59
+msgid "Editing a Profile"
+msgstr "프로필 편집하기"
+
+#: ../src/boards/python/admin/profile_edit.py:64
+msgid "Editing profile: "
+msgstr "프로필 편집: "
+
+#: ../src/boards/python/admin/profile_edit.py:67
+msgid "Editing a new profile"
+msgstr "새 프로필 편집하기"
+
+#: ../src/boards/python/admin/profile_edit.py:86
+msgid "Profile:"
+msgstr "프로필:"
+
+#. Top message gives instructions
+#: ../src/boards/python/admin/profile_edit.py:109
+msgid "Assign all the groups belonging to this profile"
+msgstr "모든 ê·¸ë£¹ì„ ì´ í”„ë¡œí•„ì— ì†í•˜ë„ë¡ ì§€ì •í•˜ì„¸ìš”"
+
+#: ../src/boards/python/admin/profile_edit.py:377
+msgid "You need to provide at least a name for your profile"
+msgstr "í”„ë¡œí•„ì— í•˜ë‚˜ì˜ ì´ë¦„ì€ ì œê³µ 해야 합니다"
+
+#: ../src/boards/python/admin/profile_edit.py:399
+msgid "There is already a profile with this name"
+msgstr "ê°™ì€ ì´ë¦„ì˜ í”„ë¡œí•„ì´ ì´ë¯¸ 있습니다."
+
+#: ../src/boards/python/admin/profile_list.py:121
+#: ../src/gcompris/board_config.c:668 ../src/gcompris/board_config.c:832
+msgid "Default"
+msgstr "초기값"
+
+#: ../src/boards/python/admin/profile_list.py:188
+msgid "Profile"
+msgstr "프로필"
+
+#: ../src/boards/python/admin/profile_list.py:315
+msgid "[Default]"
+msgstr "[초기값]"
+
+#: ../src/boards/python/admin/user_edit.py:50
+msgid "Editing a User"
+msgstr "ì‚¬ìš©ìž íŽ¸ì§‘í•˜ê¸°"
+
+#: ../src/boards/python/admin/user_edit.py:55
+msgid "Editing a User "
+msgstr "ì‚¬ìš©ìž íŽ¸ì§‘í•˜ê¸° "
+
+#: ../src/boards/python/admin/user_edit.py:61
+msgid "Editing a new user"
+msgstr "새 ì‚¬ìš©ìž íŽ¸ì§‘í•˜ê¸°"
+
+#: ../src/boards/python/admin/user_edit.py:78
+msgid "Login:"
+msgstr "로그ì¸:"
+
+#. FIXME: How to remove the selection
+#. Label and Entry for the first name
+#: ../src/boards/python/admin/user_edit.py:89
+msgid "First name:"
+msgstr "ì´ë¦„:"
+
+#. Label and Entry for the last name
+#: ../src/boards/python/admin/user_edit.py:98
+msgid "Last name:"
+msgstr "성:"
+
+#. Label and Entry for the birth date
+#: ../src/boards/python/admin/user_edit.py:107
+msgid "Birth date:"
+msgstr "ìƒì¼:"
+
+#: ../src/boards/python/admin/user_edit.py:159
+msgid ""
+"You need to provide at least a login, first name and last name for your users"
+msgstr "ë‹¹ì‹ ì˜ ìœ ì €ë¥¼ 위해서 í•œë²ˆì˜ ë¡œê·¸ì¸ê³¼ 성과 ì´ë¦„ì„ ì œê³µí•´ì•¼ 합니다."
+
+#: ../src/boards/python/admin/user_edit.py:176
+msgid "There is already a user with this login"
+msgstr "ê°™ì€ ë¡œê·¸ì¸ì„ í•œ 유저가 ì´ë¯¸ 있습니다"
+
+#: ../src/boards/python/admin/user_list.py:291
+msgid ""
+"To import a user list from a file, first select a class.\n"
+"FILE FORMAT: Your file must be formatted like this:\n"
+"login;First name;Last name;Date of birth\n"
+"The separator is autodetected and can be one of ',', ';' or ':'"
+msgstr ""
+"파ì¼ì—ì„œ 유저 목ë¡ì„ 불러오려면 먼저 ë°˜ì„ ì„ íƒí•˜ì„¸ìš”.\n"
+"íŒŒì¼ í˜•ì‹: 파ì¼ì€ ì´ëŸ¬í•œ 형ì‹ì´ì–´ì•¼ 합니다:\n"
+"로그ì¸;ì´ë¦„;성;ìƒì¼\n"
+"분리 기호는 ìžë™ìœ¼ë¡œ ì¸ì‹ë˜ê³  ',', ';' ë˜ëŠ” ':'ë„ ë©ë‹ˆë‹¤"
+
+#: ../src/boards/python/admin/user_list.py:370
+#, python-format
+msgid ""
+"One or more logins are not unique !\n"
+"You need to change them: %s !"
+msgstr ""
+"하나 ë˜ëŠ” ê·¸ì´ìƒì˜ 로그ì¸ì´ 특정하지 않습니다 !\n"
+"ê·¸ê²ƒë“¤ì„ ë°”ê¾¸ì–´ 주어야 합니다: %s !"
+
+#: ../src/boards/python/anim.py:2208
+msgid "SVG is disabled. Install python xml module to enable it"
+msgstr "SVGê°€ ì†ìƒë˜ì—ˆìŠµë‹ˆë‹¤. python xml ëª¨ë“ˆì„ ì„¤ì¹˜í•´ì„œ 복구하세요"
+
+#: ../src/boards/python/anim.py:2364
+msgid "Warning: the following images cannot be accessed on your system.\n"
+msgstr "경고: ë‹¤ìŒ ì´ë¯¸ì§€ë“¤ì€ ì´ ì‹œìŠ¤í…œì—ì„œ ì ‘ê·¼ ë  ìˆ˜ 없습니다.\n"
+
+#: ../src/boards/python/anim.py:2366
+msgid "The corresponding items have been skipped."
+msgstr "ë‹¤ìŒ ì•„ì´í…œë“¤ì„ 건너뛰었습니다."
+
+#: ../src/boards/python/electric.py:94
+msgid ""
+"Cannot find the 'gnucap' electric simulator.\n"
+"You can download and install it from:\n"
+"<http://geda.seul.org/tools/gnucap/>\n"
+"To be detected, it must be installed in\n"
+"/usr/bin/gnucap or /usr/local/bin/gnucap.\n"
+"You can still use this activity to draw schematics without computer "
+"simulation."
+msgstr ""
+"'gnucap' ì „ìž ì‹œë®¬ë ˆì´í„°ë¥¼ ì°¾ì„ ìˆ˜ 없습니다.\n"
+"ì´ê³³ì—ì„œ gnucapì„ ë‹¤ìš´ë¡œë“œí•˜ì—¬ 설치할 수 있습니다:\n"
+"<http://geda.seul.org/tools/gnucap/>\n"
+"설치가 ë˜ì–´ì•¼ ë°œê²¬ì´ ë©ë‹ˆë‹¤\n"
+"/usr/bin/gnucap ë˜ëŠ” /usr/local/bin/gnucap.\n"
+"ì´ ìž‘ì—…ì„ ì´ìš©í•´ì„œ 컴퓨터 시뮬레ì´ì…˜ ì—†ì´ ê°œìš”ë¥¼ 그릴 수 있습니다."
+
+#: ../src/boards/python/gnumch.py:94
+#, python-format
+msgid ", %d"
+msgstr ", %d"
+
+#: ../src/boards/python/gnumch.py:95
+#, python-format
+msgid " and %d"
+msgstr " 그리고 %d"
+
+#: ../src/boards/python/gnumch.py:115
+#, python-format
+msgid "%d is divisible by %s."
+msgstr "%d 는 %s로 나누어 집니다."
+
+#: ../src/boards/python/gnumch.py:119
+msgid "1 is not a prime number."
+msgstr "1ì€ ì†Œìˆ˜ê°€ 아닙니다."
+
+#: ../src/boards/python/gnumch.py:129
+#, python-format
+msgid "Primes less than %d"
+msgstr "%d보다 ìž‘ì€ ì†Œìˆ˜"
+
+#: ../src/boards/python/gnumch.py:150
+#, python-format
+msgid ""
+"Multiples of %d include %s,\n"
+"but %d is not a multiple of %d."
+msgstr ""
+"%dì˜ ê³±ì€ %s를 í¬í•¨í•©ë‹ˆë‹¤,\n"
+"그러나 %d는 %dì˜ ê³±ì´ ì•„ë‹™ë‹ˆë‹¤."
+
+#: ../src/boards/python/gnumch.py:159
+#, python-format
+msgid "Factors of %d"
+msgstr "%dì˜ ì¸ìˆ˜"
+
+#: ../src/boards/python/gnumch.py:192
+#, python-format
+msgid "%s are the factors of %d."
+msgstr "%s는 %dì˜ ì¸ìˆ˜ê°€ 아닙니다."
+
+#: ../src/boards/python/gnumch.py:204
+#, python-format
+msgid "Multiples of %d"
+msgstr "%dì˜ ë°°ìˆ˜"
+
+#: ../src/boards/python/gnumch.py:238
+#, python-format
+msgid "%s = %d"
+msgstr "%s = %d"
+
+#: ../src/boards/python/gnumch.py:249
+#, python-format
+msgid "%d + %d"
+msgstr "%d + %d"
+
+#: ../src/boards/python/gnumch.py:254
+#, fuzzy, python-format
+msgid "%d ? %d"
+msgstr "%d + %d"
+
+#: ../src/boards/python/gnumch.py:259
+#, fuzzy, python-format
+msgid "%d × %d"
+msgstr "%d + %d"
+
+#: ../src/boards/python/gnumch.py:263
+#, fuzzy, python-format
+msgid "%d ÷ %d"
+msgstr "%d + %d"
+
+#: ../src/boards/python/gnumch.py:271
+#, python-format
+msgid "Equal to %d"
+msgstr "%d와 같습니다"
+
+#: ../src/boards/python/gnumch.py:292
+#, python-format
+msgid "Not equal to %d"
+msgstr "%d와 같지 않습니다"
+
+#: ../src/boards/python/gnumch.py:434
+msgid ""
+"You were eaten by a Troggle.\n"
+"Press <Return> to continue."
+msgstr ""
+"Troggleì— ì˜í•´ ë‹¹ì‹ ì´ ë¨¹ížˆê³  있습니다.\n"
+"ê³„ì† í•˜ê¸°ìœ„í•´ <Return>ì„ ëˆ„ë¥´ì„¸ìš”."
+
+#: ../src/boards/python/gnumch.py:483
+msgid "You ate a wrong number.\n"
+msgstr "ìž˜ëª»ëœ ìˆ«ìžë¥¼ 먹었습니다.\n"
+
+#: ../src/boards/python/gnumch.py:484
+msgid ""
+"\n"
+"Press <Return> to continue."
+msgstr ""
+"\n"
+"계ì†í•˜ë ¤ë©´ <Return>ì„ ëˆ„ë¥´ì„¸ìš”."
+
+#: ../src/boards/python/gnumch.py:777
+msgid ""
+"T\n"
+"R\n"
+"O\n"
+"G\n"
+"G\n"
+"L\n"
+"E"
+msgstr ""
+"T\n"
+"R\n"
+"O\n"
+"G\n"
+"G\n"
+"L\n"
+"E"
+
+#: ../src/boards/python/guessnumber.py:205
+#, python-format
+msgid "Guess a number between %d and %d"
+msgstr "%d 와 %d 사ì´ì˜ 숫ìžë¥¼ ìƒê°í•˜ì„¸ìš”"
+
+#: ../src/boards/python/guessnumber.py:318
+#: ../src/boards/python/guessnumber.py:319
+#, python-format
+msgid "Please enter a number between %d and %d"
+msgstr "%d 와 %d사ì´ì˜ 숫ìžë¥¼ 입력하세요"
+
+#: ../src/boards/python/guessnumber.py:324
+#: ../src/boards/python/guessnumber.py:325
+msgid "Out of range"
+msgstr "범위 초과"
+
+#: ../src/boards/python/guessnumber.py:331
+#: ../src/boards/python/guessnumber.py:332
+msgid "Too high"
+msgstr "너무 í½ë‹ˆë‹¤"
+
+#: ../src/boards/python/guessnumber.py:334
+#: ../src/boards/python/guessnumber.py:335
+msgid "Too low"
+msgstr "너무 작습니다"
+
+#: ../src/boards/python/login.py:114
+msgid "Profile: "
+msgstr "프로필: "
+
+#: ../src/boards/python/login.py:268 ../src/boards/python/login.py:277
+msgid "Login: "
+msgstr "로그ì¸: "
+
+#. toggle box
+#: ../src/boards/python/login.py:550
+msgid "Enter login to log in"
+msgstr "ë¡œê·¸ì¸ í•˜ë ¤ë©´ loginì„ ìž…ë ¥í•˜ì„¸ìš”"
+
+#: ../src/boards/python/mosaic.py:193
+msgid "Rebuild the same mosaic on the right area"
+msgstr "ì˜¤ë¥¸ìª½ì— ìžˆëŠ”ê²ƒê³¼ ë˜‘ê°™ì€ ëª¨ìžì´í¬ë¥¼ 다시 만드세요"
+
+#: ../src/boards/python/melody.py:115
+msgid ""
+"Error: this activity cannot be played with the\n"
+"sound effects disabled.\n"
+"Go to the configuration dialogue to\n"
+"enable the sound"
+msgstr ""
+"오류: ì´ í™œë™ì€ ì‹¤í–‰ë  ìˆ˜ 없습니다\n"
+"ìŒí–¥ 효과 장애.\n"
+"Go to the configuration dialogue to\n"
+"소리 활성화"
+
+#: ../src/boards/python/oscar_and_friends.py:116
+msgid ""
+"Below the surface, Oscar the octopus and his friends sat on a rock,\n"
+"watching the bad weather above them."
+msgstr ""
+"수면 아래ì—, 오스카 문어와 ì¹œêµ¬ë“¤ì´ ë°”ìœ„ ìœ„ì— ì•‰ì•„ 있습니다,\n"
+"좋지 ì•Šì€ ë‚ ì”¨ë¥¼ ë³´ë©´ì„œ."
+
+#: ../src/boards/python/oscar_and_friends.py:117
+msgid ""
+"They were all happy that the storms never reached all the way down to them."
+msgstr ""
+"태í’ì´ ì ˆëŒ€ 그들ì—게까지 내려오지 않았기 ë•Œë¬¸ì— ê·¸ë“¤ì€ ëª¨ë‘ í–‰ë³µí–ˆìŠµë‹ˆë‹¤."
+
+#: ../src/boards/python/oscar_and_friends.py:118
+msgid ""
+"No matter how bad it was up there, the bottom was always calm and quiet."
+msgstr ""
+"ìœ„ì˜ ë‚ ì”¨ê°€ 좋지 ì•Šë”ë¼ë„ ìƒê´€ì—†ì´, 아래 ë°”ë‹¥ì€ í•­ìƒ ê³ ìš”í•˜ê³  조용했습니다."
+
+#: ../src/boards/python/oscar_and_friends.py:119
+msgid "Oscar's best friends were Charlie the crab and Sandy the sea-star."
+msgstr "ì˜¤ìŠ¤ì¹´ì˜ ì ˆì¹œí•œ 친구는 찰리ë¼ëŠ” 게와 샌디ë¼ëŠ” 불가사리 입니다."
+
+#: ../src/boards/python/pythontest.py:148
+msgid ""
+"This is the first plugin in gcompris coded in the Python\n"
+"Programming language."
+msgstr ""
+"ì´ê²ƒì´ python으로 ì½”ë”©ëœ ì²«ë²ˆì§¸ gcompris í”ŒëŸ¬ê·¸ì¸ ìž…ë‹ˆë‹¤\n"
+"í”„ë¡œê·¸ëž˜ë° ì–¸ì–´."
+
+#: ../src/boards/python/pythontest.py:157
+msgid ""
+"It is now possible to develop gcompris activities in C or in Python.\n"
+"Thanks to Olivier Samys who makes this possible."
+msgstr ""
+"ì´ì œ C나 Python으로 gcompris 활ë™ì„ í–¥ìƒì‹œí‚¤ëŠ” ê²ƒì´ ê°€ëŠ¥í•©ë‹ˆë‹¤.\n"
+"ì´ê²ƒì„ 가능하게 í•œ Olivier Samysì—게 ê°ì‚¬í•©ë‹ˆë‹¤."
+
+#: ../src/boards/python/pythontest.py:166
+msgid "This activity is not playable, just a test"
+msgstr "ì´ í™œë™ì€ í•  수 없습니다, 테스트용 입니다"
+
+#. toggle box
+#: ../src/boards/python/pythontest.py:414
+msgid "Disable line drawing in circle"
+msgstr "ì› ì•ˆì— ì„  긋기 í•  수 ì—†ìŒ"
+
+#. combo box
+#: ../src/boards/python/pythontest.py:423
+msgid "Color of the line"
+msgstr "선 색깔"
+
+#. spin button for int
+#: ../src/boards/python/pythontest.py:434
+msgid "Distance between circles"
+msgstr "ì›ë“¤ 사ì´ì˜ 거리"
+
+#. radio buttons for circle or rectangle
+#: ../src/boards/python/pythontest.py:445
+msgid "Use circles"
+msgstr "ì›ë“¤ì„ ì´ìš©í•˜ì„¸ìš”"
+
+#: ../src/boards/python/pythontest.py:446
+msgid "Use rectangles"
+msgstr "ë„¤ëª¨ë“¤ì„ ì´ìš©í•˜ì„¸ìš”"
+
+#: ../src/boards/python/pythontest.py:449
+msgid "Choice of pattern"
+msgstr "무늬 ì„ íƒ"
+
+#: ../src/boards/python/redraw.py:347 ../src/boards/python/redraw.py:357
+msgid "Level"
+msgstr "레벨"
+
+#: ../src/boards/python/redraw.py:901 ../src/boards/python/redraw.py:904
+msgid "Coordinate"
+msgstr "좌표"
+
+#: ../src/boards/python/searace.py:200 ../src/boards/python/searace.py:205
+#: ../src/boards/python/searace.py:231
+msgid "The race is already being run"
+msgstr "경주가 ì´ë¯¸ 진행중입니다"
+
+#. Manage default cases (no params given)
+#. Final move, add an ofset because we loose space in abs()
+#: ../src/boards/python/searace.py:428 ../src/boards/python/searace.py:453
+#: ../src/boards/python/searace.py:534 ../src/boards/python/searace.py:853
+#: ../src/boards/python/searace.py:882 ../src/boards/python/searace.py:977
+#: ../src/boards/python/searace.py:983 ../src/boards/python/searace.py:991
+msgid "forward"
+msgstr "앞으로"
+
+#: ../src/boards/python/searace.py:525
+msgid "COMMANDS ARE"
+msgstr "COMMANDS ARE"
+
+#. The two boat arrived in a close time frame (1s), it's a draw
+#: ../src/boards/python/searace.py:751
+msgid "This is a draw"
+msgstr "비겼습니다"
+
+#: ../src/boards/python/searace.py:758
+msgid "The Red boat has won"
+msgstr "빨간 보트가 ì´ê²¼ìŠµë‹ˆë‹¤"
+
+#: ../src/boards/python/searace.py:761
+msgid "The Green boat has won"
+msgstr "ì´ˆë¡ìƒ‰ 보트가 ì´ê²¼ìŠµë‹ˆë‹¤"
+
+#: ../src/boards/python/searace.py:779 ../src/boards/python/searace.py:1021
+msgid "Angle:"
+msgstr "ê°ë„:"
+
+#: ../src/boards/python/searace.py:779
+msgid "Wind:"
+msgstr "바람:"
+
+#: ../src/boards/python/searace.py:860
+msgid "Syntax error at line"
+msgstr "ì¤„ì— ë¬¸ë²• 오류가 있습니다"
+
+#: ../src/boards/python/searace.py:878
+msgid "The command"
+msgstr "명령"
+
+#: ../src/boards/python/searace.py:897
+msgid "Unknown command at line"
+msgstr "알려지지 ì•Šì€ ëª…ë ¹ì–´ê°€ ì¤„ì— ìžˆìŠµë‹ˆë‹¤"
+
+#: ../src/boards/python/searace.py:1021
+msgid "Distance:"
+msgstr "거리:"
+
+#: ../src/boards/python/tuxpaint.py:119
+msgid ""
+"Cannot find Tuxpaint.\n"
+"Install it to use this activity !"
+msgstr ""
+"Tuxpaint를 ì°¾ì„ ìˆ˜ 없습니다.\n"
+"ì´ í™œë™ì„ 하려면 Tuxpaint를 설치 하세요 !"
+
+#: ../src/boards/python/tuxpaint.py:132
+msgid "Waiting for Tuxpaint to finish"
+msgstr "ë내기 위해 Tuxpaint를 기다리는중"
+
+#: ../src/boards/python/tuxpaint.py:187
+msgid "Inherit fullscreen setting from GCompris"
+msgstr "GCompris로부터 전체화면 ì„¤ì •ì„ ì´ì–´ë°›ê¸°"
+
+#: ../src/boards/python/tuxpaint.py:191
+msgid "Inherit size setting from GCompris (800x600, 640x480)"
+msgstr "í¬ê¸° ì„¤ì •ì„ GComprisë¡œ ì´ì–´ë°›ê¸° (800x600, 640x480)"
+
+#: ../src/boards/python/tuxpaint.py:195
+msgid "Disable shape rotation"
+msgstr "모양 회전 í•  수 ì—†ìŒ"
+
+#: ../src/boards/python/tuxpaint.py:199
+msgid "Show Uppercase text only"
+msgstr "대문ìžë§Œ 있는 글 ë³´ì´ê¸°"
+
+#: ../src/boards/python/tuxpaint.py:203
+msgid "Disable stamps"
+msgstr "ë„장 안ë¨"
+
+#: ../src/boards/railroad.c:91
+msgid "Memory game"
+msgstr "기억 게임"
+
+#: ../src/boards/railroad.c:92
+msgid "Build a train according to the model"
+msgstr "모ë¸ì— ë”°ë¼ì„œ 기차를 만드세요"
+
+#: ../src/boards/reading.c:225 ../src/boards/wordsgame.c:205
+msgid ""
+"Error: We can't find\n"
+"a list of words to play this game.\n"
+msgstr ""
+"오류: ì°¾ì„ ìˆ˜ 없습니다\n"
+"ì´ ê²Œìž„ì„ í•˜ê¸° 위한 목ë¡.\n"
+
+#: ../src/boards/reading.c:379
+msgid "Please, check if the word"
+msgstr "ì²´í¬í•˜ì„¸ìš”, 단어"
+
+#: ../src/boards/reading.c:399
+msgid "is being displayed"
+msgstr "ê°€ 표시 ë˜ì–´ 있는지"
+
+#: ../src/boards/reading.c:573
+msgid "I am Ready"
+msgstr "나는 준비 ë˜ì—ˆìŠµë‹ˆë‹¤"
+
+#: ../src/boards/reading.c:613
+msgid "Yes, I saw it"
+msgstr "네, 보았습니다"
+
+#: ../src/boards/reading.c:643
+msgid "No, it was not there"
+msgstr "아니오, ê·¸ê²ƒì€ ê·¸ê³³ì— ìžˆì§€ 않습니다"
+
+#. Report what was wrong in the log
+#: ../src/boards/reading.c:681
+#, c-format
+msgid "The word to find was '%s'"
+msgstr "찾아야 할 단어는 '%s'"
+
+#: ../src/boards/reading.c:684
+msgid "But it was not displayed"
+msgstr "그러나 ê·¸ê²ƒì€ ë‚˜íƒ€ë‚˜ 있지 않습니다"
+
+#: ../src/boards/reading.c:686
+msgid "And it was displayed"
+msgstr "그리고 ê·¸ê²ƒì€ í‘œê¸° ë˜ì–´ 있습니다"
+
+#. Enter Edit Mode
+#: ../src/boards/shapegame.c:434
+msgid ""
+"You have entered Edit mode\n"
+"Move the puzzle items;\n"
+"type 's' to save, and\n"
+"'d' to display all the shapes"
+msgstr ""
+"편집 모드로 들어왔습니다\n"
+"í¼ì¦ì„ 움ì§ì´ì„¸ìš”;\n"
+"저장하려면 's'를 입력하세요 그리고\n"
+"모든 ëª¨ì–‘ì„ ë³´ì´ê¸° 위해서는 'd'를 입력하세요"
+
+#: ../src/boards/shapegame.c:442
+msgid ""
+"The data from this activity are saved under\n"
+"/tmp/gcompris-board.xml"
+msgstr ""
+"ì´ í™œë™ì—ì„œì˜ ê¸°ë¡ì€ ì´ê³³ì— 저장ë©ë‹ˆë‹¤\n"
+"/tmp/gcompris-board.xml"
+
+#: ../src/boards/submarine.c:198
+msgid "Submarine"
+msgstr "잠수함"
+
+#: ../src/boards/submarine.c:199
+msgid "Control the depth of a submarine"
+msgstr "ìž ìˆ˜í•¨ì˜ ê¹Šì´ë¥¼ 조정하세요"
+
+#: ../src/boards/target.c:281 ../src/boards/target.c:546
+#, c-format
+msgid "Points = %s"
+msgstr "í¬ì¸íŠ¸ = %s"
+
+#: ../src/boards/target.c:403
+#, c-format
+msgid ""
+"Wind speed = %d\n"
+"kilometers/hour"
+msgstr ""
+"바람 ì†ë„ = %d\n"
+"킬로미터/시"
+
+#: ../src/boards/target.c:470
+#, c-format
+msgid "Distance to target = %d meters"
+msgstr "목표물 까지 거리 = %d 미터"
+
+#: ../src/gcompris/about.c:57
+msgid ""
+"Author: Bruno Coudoin\n"
+"Contribution: Pascal Georges, Jose Jorge\n"
+"Graphics: Renaud Blanchard, Franck Doucet\n"
+"Intro Music: Djilali Sebihi\n"
+"Background Music: Rico Da Halvarez\n"
+msgstr ""
+"ì €ìž: 브루노 ì½”ë„ì¸\n"
+"기여: 파스칼 조지, 조스 조지\n"
+"그래픽: 르나우드 블랜처드, í”„ëž­í¬ ë”ìš°ì…‹\n"
+"ì¸íŠ¸ë¡œ ìŒì•…: 드짖ë¼ë¦¬ 세비히\n"
+"ë°°ê²½ ìŒì•…: 리코 다 하바레즈\n"
+
+#. TRANSLATORS: Replace this string with your names, one name per line.
+#: ../src/gcompris/about.c:65
+msgid "translator_credits"
+msgstr ""
+"Abigail Brady <morwen@evilmagi_c.org>\n"
+"Bastien Nocera <hadess@hadess.net>\n"
+"Gareth Owen <gowen72@yahoo.com>"
+
+#: ../src/gcompris/about.c:96 ../src/gcompris/about.c:106
+msgid "About GCompris"
+msgstr "GCompris ì •ë³´"
+
+#: ../src/gcompris/about.c:117 ../src/gcompris/about.c:126
+msgid "Translators:"
+msgstr "번역ìž:"
+
+#: ../src/gcompris/about.c:249
+msgid ""
+"GCompris Home Page\n"
+"http://gcompris.net"
+msgstr ""
+"GCompris 홈페ì´ì§€\n"
+"http://gcompris.net"
+
+#: ../src/gcompris/about.c:271
+msgid ""
+"This software is a GNU Package and is released under the GNU General Public "
+"License"
+msgstr ""
+"ì´ ì†Œí”„íŠ¸ì›¨ì–´ëŠ” GNU 꾸러미 입니다 그리고 GNU General Public Licenseì— ì˜í•´ ë°œ"
+"ê°„ ë˜ì—ˆìŠµë‹ˆë‹¤"
+
+#: ../src/gcompris/about.c:334 ../src/gcompris/about.c:344
+#: ../src/gcompris/config.c:465 ../src/gcompris/config.c:475
+#: ../src/gcompris/dialog.c:97 ../src/gcompris/help.c:376
+#: ../src/gcompris/help.c:386 ../src/gcompris/images_selector.c:317
+msgid "OK"
+msgstr "OK"
+
+#: ../src/gcompris/bar.c:568
+msgid "GCompris confirmation"
+msgstr "GCompris 확ì¸"
+
+#: ../src/gcompris/bar.c:569
+msgid "Are you sure you want to quit?"
+msgstr "ì •ë§ ë‚˜ê°€ê² ìŠµë‹ˆê¹Œ?"
+
+#: ../src/gcompris/bar.c:570
+msgid "Yes, I am sure!"
+msgstr "예!"
+
+#: ../src/gcompris/bar.c:571
+msgid "No, I want to keep going"
+msgstr "아니오, 계ì†í•˜ê² ìŠµë‹ˆë‹¤"
+
+#: ../src/gcompris/board.c:181
+msgid "Dynamic module loading is not supported. gcompris cannot load.\n"
+msgstr "ë™ì  모듈 ë¡œë”©ì´ ì§€ì›ë˜ì§€ 않습니다. gcompris는 로드할 수 없습니다.\n"
+
+#: ../src/gcompris/board_config.c:700
+msgid ""
+"Select the language\n"
+" to use in the board"
+msgstr ""
+"언어를 ì„ íƒí•˜ì„¸ìš”\n"
+" 보드를 사용하기 위해서"
+
+#: ../src/gcompris/config.c:59
+msgid "Your system default"
+msgstr "시스템 초기값"
+
+#: ../src/gcompris/config.c:60
+msgid "Amharic"
+msgstr "암하ë¼ì–´"
+
+#: ../src/gcompris/config.c:61
+msgid "Arabic"
+msgstr "ì•„ëžì–´"
+
+#: ../src/gcompris/config.c:62
+msgid "Turkish (Azerbaijan)"
+msgstr "터키어 (아르제바ì´ìž”)"
+
+#: ../src/gcompris/config.c:63
+msgid "Bulgarian"
+msgstr "불가리아어"
+
+#: ../src/gcompris/config.c:64
+msgid "Catalan"
+msgstr "카탈로니아어"
+
+#
+#: ../src/gcompris/config.c:66
+msgid "Danish"
+msgstr "ë´ë§ˆí¬ì–´"
+
+#: ../src/gcompris/config.c:67
+msgid "German"
+msgstr "ë…ì¼ì–´"
+
+#: ../src/gcompris/config.c:68
+msgid "Greek"
+msgstr "그리스어"
+
+#: ../src/gcompris/config.c:69
+msgid "English (Canada)"
+msgstr "ì˜ì–´ (ìºë‚˜ë‹¤)"
+
+#: ../src/gcompris/config.c:70
+msgid "English (Great Britain)"
+msgstr "ì˜ì–´ (ì˜êµ­)"
+
+#: ../src/gcompris/config.c:71
+msgid "Spanish"
+msgstr "스페ì¸ì–´"
+
+#: ../src/gcompris/config.c:72
+msgid "Basque"
+msgstr "바스í¬ì–´"
+
+#: ../src/gcompris/config.c:73
+msgid "Finnish"
+msgstr "핀란드어"
+
+#: ../src/gcompris/config.c:74
+msgid "French"
+msgstr "프랑스어"
+
+#: ../src/gcompris/config.c:75
+msgid "Irish (Gaelic)"
+msgstr "ì•„ì¼ëžœë“œì–´ (게ì¼ì–´)"
+
+#: ../src/gcompris/config.c:76
+msgid "Hebrew"
+msgstr "히브리어"
+
+#: ../src/gcompris/config.c:77
+msgid "Hindi"
+msgstr "힌디어"
+
+#: ../src/gcompris/config.c:78
+msgid "Gujarati"
+msgstr "ê³¼ë¼ë‹ˆì–´"
+
+#: ../src/gcompris/config.c:79
+msgid "Punjabi"
+msgstr "펀ìžë¸Œì–´"
+
+#: ../src/gcompris/config.c:80
+msgid "Hungarian"
+msgstr "í—가리어"
+
+#: ../src/gcompris/config.c:81
+msgid "Croatian"
+msgstr "í¬ë¡œì•„í‹°ì•„ì–´"
+
+#: ../src/gcompris/config.c:82
+msgid "Italian"
+msgstr "ì´íƒˆë¦¬ì•„ì–´"
+
+#: ../src/gcompris/config.c:83
+msgid "Georgian"
+msgstr "그루지야어"
+
+#: ../src/gcompris/config.c:84
+msgid "Lithuanian"
+msgstr "리투아니아어"
+
+#: ../src/gcompris/config.c:85
+msgid "Macedonian"
+msgstr "마케ë„니아어"
+
+#: ../src/gcompris/config.c:86
+msgid "Malayalam"
+msgstr "ë§ë¼ì–„람어"
+
+#: ../src/gcompris/config.c:87
+msgid "Marathi"
+msgstr "마ë¼í‹°ì–´"
+
+#: ../src/gcompris/config.c:88
+msgid "Malay"
+msgstr "ë§ë ˆì´ì–´"
+
+#: ../src/gcompris/config.c:89
+msgid "Nepal"
+msgstr "네팔어"
+
+#: ../src/gcompris/config.c:90
+msgid "Dutch"
+msgstr "네ëœëž€ë“œì–´"
+
+#: ../src/gcompris/config.c:91
+msgid "Norwegian Bokmal"
+msgstr "ë…¸ë¥´ì›¨ì´ ë¶€í¬ë§ì–´"
+
+#: ../src/gcompris/config.c:92
+msgid "Norwegian Nynorsk"
+msgstr "ë…¸ë¥´ì›¨ì´ ë‰˜ë…¸ë¥´ìŠ¤í¬ì–´"
+
+#: ../src/gcompris/config.c:93
+msgid "Polish"
+msgstr "í´ëž€ë“œì–´"
+
+#: ../src/gcompris/config.c:94
+msgid "Portuguese"
+msgstr "í¬ë¥´íˆ¬ê°ˆì–´"
+
+#: ../src/gcompris/config.c:95
+msgid "Portuguese (Brazil)"
+msgstr "í¬ë¥´íˆ¬ê°ˆì–´ (브ë¼ì§ˆ)"
+
+#: ../src/gcompris/config.c:96
+msgid "Romanian"
+msgstr "루마니아어"
+
+#: ../src/gcompris/config.c:97
+msgid "Russian"
+msgstr "러시아어"
+
+#: ../src/gcompris/config.c:98
+msgid "Kinyarwanda"
+msgstr "Kinyarwanda"
+
+#: ../src/gcompris/config.c:99
+msgid "Slovak"
+msgstr "슬로바키아어"
+
+#: ../src/gcompris/config.c:100
+msgid "Slovenian"
+msgstr "슬로베니아어"
+
+#: ../src/gcompris/config.c:101
+#, fuzzy
+msgid "Somali"
+msgstr "소ë§ë¦¬ì•„"
+
+#: ../src/gcompris/config.c:102
+msgid "Albanian"
+msgstr "알바니아어"
+
+#: ../src/gcompris/config.c:103
+msgid "Serbian (Latin)"
+msgstr "세르비아어 (ë¼í‹´)"
+
+#: ../src/gcompris/config.c:104
+msgid "Serbian"
+msgstr "세르비아어"
+
+#: ../src/gcompris/config.c:105
+msgid "Swedish"
+msgstr "스웨ë´ì–´"
+
+#. "ta_IN.UTF-8", N_("Tamil"),
+#: ../src/gcompris/config.c:107
+msgid "Thai"
+msgstr "타ì´ì–´"
+
+#: ../src/gcompris/config.c:108
+msgid "Turkish"
+msgstr "터키어"
+
+#: ../src/gcompris/config.c:109
+msgid "Vietnamese"
+msgstr "베트남어"
+
+#: ../src/gcompris/config.c:110
+msgid "Walloon"
+msgstr "왈론어"
+
+#: ../src/gcompris/config.c:111
+msgid "Chinese (Simplified)"
+msgstr "중국어 (간체)"
+
+#: ../src/gcompris/config.c:112
+msgid "Chinese (Traditional)"
+msgstr "중국어 (전통)"
+
+#: ../src/gcompris/config.c:117
+msgid "No time limit"
+msgstr "시간 제한 ì—†ìŒ"
+
+#: ../src/gcompris/config.c:118
+msgid "Slow timer"
+msgstr "ëŠ¦ì€ íƒ€ì´ë¨¸"
+
+#: ../src/gcompris/config.c:119
+msgid "Normal timer"
+msgstr "보통 타ì´ë¨¸"
+
+#: ../src/gcompris/config.c:120
+msgid "Fast timer"
+msgstr "빠른 타ì´ë¨¸"
+
+#: ../src/gcompris/config.c:125
+msgid "800x600 (Default for gcompris)"
+msgstr "800x600 (초기 gcompris)"
+
+#: ../src/gcompris/config.c:130
+msgid ""
+"<i>Use Gcompris administration module\n"
+"to filter boards</i>"
+msgstr ""
+"<i>Gcompris 관리 ëª¨ë“ˆì„ ì‚¬ìš©í•˜ì„¸ìš”\n"
+"필터 보드를 위해</i>"
+
+#: ../src/gcompris/config.c:185 ../src/gcompris/config.c:195
+msgid "GCompris Configuration"
+msgstr "GCompris 설정"
+
+#: ../src/gcompris/config.c:271
+msgid "Fullscreen"
+msgstr "전체화면"
+
+#: ../src/gcompris/config.c:314
+msgid "Music"
+msgstr "ìŒì•…"
+
+#: ../src/gcompris/config.c:342
+msgid "Effect"
+msgstr "효과"
+
+#: ../src/gcompris/config.c:378
+#, c-format
+msgid "Couldn't open skin dir: %s"
+msgstr "스킨 디렉토리를 열 수없습니다: %s"
+
+#: ../src/gcompris/config.c:409 ../src/gcompris/config.c:864
+#: ../src/gcompris/config.c:878
+#, c-format
+msgid "Skin : %s"
+msgstr "스킨 : %s"
+
+#: ../src/gcompris/config.c:411
+msgid "SKINS NOT FOUND"
+msgstr "스킨 ì°¾ì„ ìˆ˜ ì—†ìŒ"
+
+#: ../src/gcompris/config.c:536
+msgid "English (United State)"
+msgstr "ì˜ì–´ (미국)"
+
+#: ../src/gcompris/file_selector.c:334
+msgid "CANCEL"
+msgstr "취소"
+
+#: ../src/gcompris/file_selector.c:365
+msgid "LOAD"
+msgstr "로드"
+
+#: ../src/gcompris/file_selector.c:365
+msgid "SAVE"
+msgstr "저장"
+
+#: ../src/gcompris/gameutil.c:79
+msgid "Couldn't find or load the file"
+msgstr "파ì¼ì„ ì°¾ì„ ìˆ˜ 없거나 불러 올 수 없습니다"
+
+#: ../src/gcompris/gameutil.c:81
+msgid "This activity is incomplete."
+msgstr "활ë™ì´ 완전 하지 않습니다."
+
+#: ../src/gcompris/gameutil.c:82
+msgid ""
+"Exit it and report\n"
+"the problem to the authors."
+msgstr ""
+"빠져나와서 보고하기\n"
+"문제를 ì €ìžì—게"
+
+#: ../src/gcompris/gcompris.c:123
+msgid "run gcompris in fullscreen mode."
+msgstr "gcompris를 전체화면ì—ì„œ 실행하기."
+
+#: ../src/gcompris/gcompris.c:126
+msgid "run gcompris in window mode."
+msgstr "gcompris를 윈ë„ìš° 모드로 실행하기."
+
+#: ../src/gcompris/gcompris.c:129
+msgid "run gcompris with sound enabled."
+msgstr "gcompris를 소리를 켜서 실행하기."
+
+#: ../src/gcompris/gcompris.c:132
+msgid "run gcompris without sound."
+msgstr "gcompris 를 소리 ì—†ì´ ì‹¤í–‰í•˜ê¸°."
+
+#: ../src/gcompris/gcompris.c:135
+msgid "run gcompris with the default gnome cursor."
+msgstr "gcompris를 초기 gnome 커서를 ì´ìš©í•´ì„œ 실행하기."
+
+#: ../src/gcompris/gcompris.c:138
+msgid "display only activities with this difficulty level."
+msgstr "ì´ ë‚œì´ë„ì˜ í™œë™ë§Œ 보여주기."
+
+#: ../src/gcompris/gcompris.c:141
+msgid "display debug informations on the console."
+msgstr "ì½˜ì†”ì— ë””ë²„ê·¸ 정보를 ë³´ì´ê¸°."
+
+#: ../src/gcompris/gcompris.c:144
+msgid "Print the version of "
+msgstr "버젼 출력"
+
+#: ../src/gcompris/gcompris.c:147
+msgid "Use the antialiased canvas (slower)."
+msgstr "Use the antialiased canvas (slower)."
+
+#: ../src/gcompris/gcompris.c:150
+msgid "Disable XF86VidMode (No screen resolution change)."
+msgstr "XF86VidMode ë„세요 (스í¬ë¦° í•´ìƒë„ 변화 ì—†ìŒ)."
+
+#: ../src/gcompris/gcompris.c:153
+msgid ""
+"Run gcompris with local menu (e.g -l /reading will let you play only "
+"activities in the reading directory, -l /strategy/connect4 only the connect4 "
+"activity)"
+msgstr ""
+"gcompris를 로컬 메뉴로 실행하세요(예 -l /ì½ê¸°ëŠ” ì½ê¸° 디렉토리ì—서만 ë™ìž‘하ë„"
+"ë¡ í•œë‹¤, -l /strategy/connect4 는 connect4 활ë™ë§Œ ë™ìž‘)"
+
+#: ../src/gcompris/gcompris.c:156
+msgid "Run GCompris with local activity directory added to menu"
+msgstr "GCompris를 ë©”ë‰´ì— ì¶”ê°€ëœ ë¡œì»¬ í™œë™ ë””ë ‰í† ë¦¬ë¡œ 실행하세요"
+
+#: ../src/gcompris/gcompris.c:159
+msgid "Run GCompris in administration and user-management mode"
+msgstr "GCompris를 관리ìž, ì‚¬ìš©ìž ê´€ë¦¬ 모드로 실행하세요"
+
+#: ../src/gcompris/gcompris.c:162
+msgid "Use alternate database for profiles"
+msgstr "í”„ë¡œí•„ì„ ìœ„í•´ 다른 ë°ì´í„°ë°°ì´ìŠ¤ë¥¼ 쓰세요"
+
+#: ../src/gcompris/gcompris.c:165
+msgid "Use alternate database for logs"
+msgstr "로그를 위해 다른 ë°ì´í„°ë² ì´ìŠ¤ë¥¼ 쓰세요"
+
+#: ../src/gcompris/gcompris.c:168
+msgid "Create the alternate database for profiles"
+msgstr "í”„ë¡œí•„ì„ ìœ„í•´ 다른 ë°ì´í„° ë°°ì´ìŠ¤ë¥¼ ìƒì„±í•˜ì„¸ìš”"
+
+#: ../src/gcompris/gcompris.c:171
+msgid "Re-read XML Menus and store them in the database"
+msgstr "XML 메뉴를 다시 ì½ì–´ì„œ ë°ì´í„° ë² ì´ìŠ¤ì— 저장하세요"
+
+#: ../src/gcompris/gcompris.c:174
+msgid "Set the profile to use. Use 'gcompris -a' to create profiles"
+msgstr "사용할 í”„ë¡œí•„ì„ ì„¤ì •í•˜ì„¸ìš”. í”„ë¡œí•„ì„ ë§Œë“¤ë•Œ 'gcompris -a'를 사용하세요"
+
+#: ../src/gcompris/gcompris.c:177
+msgid "List all available profiles. Use 'gcompris -a' to create profiles"
+msgstr ""
+"유효한 í”„ë¡œí•„ì„ ëª©ë¡ìœ¼ë¡œ 만드세요. í”„ë¡œí•„ì„ ë§Œë“¤ë ¤ë©´ 'gcompris -a'를 사용하세"
+"ìš”"
+
+#: ../src/gcompris/gcompris.c:180
+msgid ""
+"Shared directory location, for profiles and board-configuration data: "
+"[$HOME/.gcompris/shared]"
+msgstr ""
+"프로필과 ë³´ë“œ 설정 ë°ì´í„°ë¥¼ 위한 ê³µìœ ëœ ë””ë ‰í† ë¦¬ 위치: [$HOME/.gcompris/"
+"shared]"
+
+#: ../src/gcompris/gcompris.c:183
+msgid "The location of user directories: [$HOME/.gcompris/users]"
+msgstr "유저 디렉토리 위치: [$HOME/.gcompris/users]"
+
+#: ../src/gcompris/gcompris.c:186
+msgid "Run the experimental activities"
+msgstr "실험 활ë™ì„ 실행하세요"
+
+#: ../src/gcompris/gcompris.c:189
+msgid "Disable the quit button"
+msgstr "나가기 ë²„íŠ¼ì„ ë„세요"
+
+#: ../src/gcompris/gcompris.c:192
+msgid "Disable the config button"
+msgstr "설정 ë²„íŠ¼ì„ ë„세요"
+
+#: ../src/gcompris/gcompris.c:195
+msgid "Display the resources on stdout based on the selected activities"
+msgstr "Display the resources on stdout based on the selected activities"
+
+#: ../src/gcompris/gcompris.c:198
+msgid ""
+"GCompris will get images, sounds and activity data from this server if not "
+"found locally."
+msgstr ""
+"만약 개별ì ìœ¼ë¡œ 발견ë˜ì§€ 않으면 GCompris 는 ì´ë¯¸ì§€ì™€ 소리, í™œë™ ë°ì´í„°ë¥¼ 서버"
+"ë¡œ 부터 ì–»ì„ ê²ƒ 입니다."
+
+#: ../src/gcompris/gcompris.c:201
+msgid ""
+"Only when --server is provided, disable check for local resource first. Data "
+"are always taken from the web server."
+msgstr ""
+"서버가 제공ë˜ì—ˆì„ 때만 지역 ìžì›ì˜ 기능 억제가 ì²´í¬ë©ë‹ˆë‹¤. ë°ì´í„°ëŠ” í•­ìƒ ì›¹ "
+"서버ì—ì„œ 부터 얻어집니다."
+
+#: ../src/gcompris/gcompris.c:205
+#, fuzzy
+msgid ""
+"In server mode, specify the cache directory used to avoid useless downloads."
+msgstr ""
+"서버 모드ì—서는 ìºì‰¬ 디렉토리가 불필요한 다운로드를 방지하기위해 사용ë©ë‹ˆë‹¤."
+
+#: ../src/gcompris/gcompris.c:838
+#, c-format
+msgid ""
+"GCompris is free software released under the GPL License. In order to "
+"support its development, the Windows version provides only %d of the %d "
+"activities. You can get the full version for a small fee at\n"
+"<http://gcompris.net>\n"
+"The Linux version does not have this restriction. Note that GCompris is "
+"being developed to free schools from monopolistic software vendors. If you "
+"also believe that we should teach freedom to children, please consider using "
+"GNU/Linux. Get more information at FSF:\n"
+"<http://www.fsf.org/philosophy>"
+msgstr ""
+"GCompris는 GPL ë¼ì´ì„¼ìŠ¤ì— ì˜í•œ 무료 소프트웨어 입니다. ì´ê²ƒì˜ ë°œì „ì„ ë•ê¸° 위"
+"í•´ì„œ 윈ë„ìš° ë²„ì ¼ì€ n provides only %d of the %d activities. You can get the "
+"full version for a small fee at\n"
+"<http://gcompris.net>\n"
+"리눅스 ë²„ì ¼ì€ ì´ëŸ¬í•œ ì œí•œì´ ì—†ìŠµë‹ˆë‹¤. GCompris는 공개로 개발ë˜ê³  있습니다. 만"
+"약 우리가 ì•„ì´ë“¤ì—게 공개를 가르ì³ì•¼ 한다고 ìƒê°í•œë‹¤ë©´, GNU/Linuxì‚¬ìš©ì„ ê³ ë ¤"
+"해보세요. FSFì—ì„œ ë” ë§Žì€ ì •ë³´ë¥¼ ì–»ì„ ìˆ˜ 있습니다.:\n"
+"<http://www.fsf.org/philosophy>"
+
+#: ../src/gcompris/gcompris.c:1433
+#, c-format
+msgid ""
+"GCompris\n"
+"Version: %s\n"
+"Licence: GPL\n"
+"More info at http://gcompris.net\n"
+msgstr ""
+"GCompris\n"
+"버젼: %s\n"
+"ë¼ì´ì„¼ìŠ¤: GPL\n"
+"ì •ë³´ http://gcompris.net\n"
+
+#. check the list of possible values for -l, then exit
+#: ../src/gcompris/gcompris.c:1522
+#, c-format
+msgid "Use -l to access an activity directly.\n"
+msgstr "-lì„ ì‚¬ìš©í•˜ì„¸ìš”, í™œë™ ë””ë ‰í† ë¦¬ì— ì ‘ê·¼í•˜ê¸°í•˜ê³  싶다면.\n"
+
+#: ../src/gcompris/gcompris.c:1523
+#, c-format
+msgid "The list of available activities is :\n"
+msgstr "가능한 í™œë™ ëª©ë¡ :\n"
+
+#: ../src/gcompris/gcompris.c:1701
+#, c-format
+msgid "The list of available profiles is:\n"
+msgstr "가능한 프로필 목ë¡:\n"
+
+#: ../src/gcompris/gcompris_db.c:250
+msgid "Unaffected"
+msgstr "변하지않ìŒ"
+
+#: ../src/gcompris/gcompris_db.c:251
+msgid "Users without a class"
+msgstr "ë°˜ì´ ì—†ëŠ” 사용ìžë“¤"
+
+#: ../src/gcompris/help.c:194
+msgid "Prerequisite"
+msgstr "필수ì ì¸ê²ƒ"
+
+#: ../src/gcompris/help.c:222
+msgid "Goal"
+msgstr "목표"
+
+#: ../src/gcompris/help.c:250
+msgid "Manual"
+msgstr "안내서"
+
+#: ../src/gcompris/help.c:278
+msgid "Credit"
+msgstr "í•™ì "
+
+#: ../src/gcompris/timer.c:250
+msgid "Time Elapsed"
+msgstr "ì‹œê°„ì´ ê²½ê³¼ë˜ì—ˆìŒ"
+
+#: ../src/gcompris/timer.c:339
+#, c-format
+msgid "Remaining Time = %d"
+msgstr "ë‚¨ì€ ì‹œê°„ = %d"
+
+#~ msgid "Samuel Loyd"
+#~ msgstr "사무엘 ë¡œì´ë“œ"
+
+#~ msgid "anticipate"
+#~ msgstr "참가"
+
+#~ msgid "logical"
+#~ msgstr "논리ì "
+
+#~ msgid "move"
+#~ msgstr "움ì§ì´ì„¸ìš”"
+
+#~ msgid "puzzle"
+#~ msgstr "í¼ì¦"
+
+#~ msgid "slide"
+#~ msgstr "밀기"
+
+#~ msgid "taquin"
+#~ msgstr "타퀸"
+
+#~ msgid "+-횞첨"
+#~ msgstr "+-횞첨"
+
+#~ msgid ""
+#~ "Python xml module not found. SVG is disabled. Install the python xml "
+#~ "module to enable SVG Save/restore."
+#~ msgstr ""
+#~ "Python xml ëª¨ë“ˆì´ ë°œê²¬ë˜ì§€ 않았습니다. SVGê°€ ì†ìƒë˜ì—ˆìŠµë‹ˆë‹¤. python xml 모"
+#~ "ë“ˆì„ ì„¤ì¹˜í•´ì„œ SVG 저장 ê¸°ëŠ¥ì„ ë³µêµ¬ 하세요."
+
+#~ msgid "%d ??%d"
+#~ msgstr "%d ??%d"
+
+#~ msgid "%d íšž %d"
+#~ msgstr "%d íšž %d"
+
+#~ msgid "%d 첨 %d"
+#~ msgstr "%d 첨 %d"
+
+#~ msgid "Cannot open file of words for your locale"
+#~ msgstr "ì´ ìœ„ì¹˜ì—ì„œ 단어 파ì¼ì„ ì—´ 수 없습니다"
+
+#~ msgid ""
+#~ "A addition problem with two numbers is displayed. At the right of the "
+#~ "equal sign, give the sum. Use the left and right arrows to modify the "
+#~ "sum, and the Enter key to check your answer."
+#~ msgstr ""
+#~ "ë‘ê°œì˜ ìˆ«ìžë¡œ ì´ë£¨ì–´ì§„ ë§ì…ˆ 문제가 있습니다. ì˜¤ë¥¸ìª½ì˜ ë“±í˜¸ëŠ” í•©ì„ ê°€ë¦¬í‚µë‹ˆ"
+#~ "다. í•©ì„ ê³ ì¹˜ê¸° 위해서 오른쪽ì´ë‚˜ 왼쪽 화살표를 ì‚¬ìš©í•˜ì„¸ìš”ë‹µì„ ì •í•˜ë ¤ë©´ ì—”"
+#~ "터 키를 사용하세요"
+
+#~ msgid "Needs to handle the mouse with the click easily"
+#~ msgstr "쉽게 í´ë¦­í•˜ë ¤ë©´ 마우스를 사용해야 합니다"
+
+#~ msgid "The game of billiards"
+#~ msgstr "당구 게임"
+
+#~ msgid ""
+#~ "For each printed hour (hours:minutes or hours:minutes:seconds) click the "
+#~ "corresponding arrow to set the clock time to match the given hour. The "
+#~ "different arrows can be turned by selecting them and moving the mouse"
+#~ msgstr ""
+#~ "ê°ê° ì¶œë ¥ëœ ì‹œê°„ì— ëŒ€í•´ (시간:분 ë˜ëŠ” 시간:분:ì´ˆ) í´ë¦­í•˜ì„¸ìš”ì¼ì¹˜í•˜ëŠ” 화살"
+#~ "표를 알맞는 시간으로 조절하려면.다른 화살표는 ê·¸ê²ƒë“¤ì„ ì„ íƒí•˜ê³  마우스를 "
+#~ "움ì§ì—¬ì„œ 바뀔 수 있습니다"
+
+#~ msgid ""
+#~ "This board teaches color recognition. Select the spoken color from the "
+#~ "set of colored toons."
+#~ msgstr ""
+#~ "ì´ ë³´ë“œëŠ” 색깔 êµ¬ë³„ë²•ì„ ê°€ë¥´ì³ ì¤ë‹ˆë‹¤. ìƒ‰ê¹”ì„ ì„ íƒí•˜ì„¸ìš” ìƒ‰ê¹”ì´ ìžˆëŠ” 만화."
+
+#~ msgid "Move the items one by one to reorder them in the increasing number"
+#~ msgstr "ì•„ì´í…œì„ í•œë²ˆì— í•˜ë‚˜ì”© 움ì§ì—¬ì„œ 커지는 순서대로 숫ìžë¥¼ 정렬하세요"
+
+#~ msgid "Place the lands"
+#~ msgstr "ë•…ì„ ë°°ì¹˜í•˜ì„¸ìš”"
+
+#~ msgid "Czech"
+#~ msgstr "ì²´ì½”"
+
+#~ msgid "Make the puzzle"
+#~ msgstr "í¼ì¦ì„ 만드세요"
+
+#~ msgid "Parachute jumper"
+#~ msgstr "낙하산 ì í”„"
+
+#~ msgid ""
+#~ "Use the up, down, right and left keyboard keys to move the helicopter to "
+#~ "catch the numbers in increasing order."
+#~ msgstr ""
+#~ "헬리콥터를 움ì§ì´ë ¤ë©´ 위, 아래, 오른쪽, 왼쪽 키를 사용하세요숫ìžë¥¼ 커지는 "
+#~ "순서대로 잡으려면"
+
+#~ msgid "Railroad"
+#~ msgstr "ì² ë„"
+
+#~ msgid "Drag and Drop masses to equilibrate the scales"
+#~ msgstr "ì €ìš¸ì˜ ê· í˜•ì„ ë§žì¶”ê¸° 위해서 ë¬¼ê±´ë“¤ì„ ëŒì–´ì„œ 놓으세요"
+
+#~ msgid "Numbers With 2 Dices"
+#~ msgstr "2ê°œ ì£¼ì‚¬ìœ„ì˜ ìˆ«ìž"
+
+#~ msgid "Couldn't find file %s !"
+#~ msgstr "íŒŒì¼ %s를 ì°¾ì„ ìˆ˜ 없습니다 !"
+
+#~ msgid "find file %s !"
+#~ msgstr "íŒŒì¼ %s를 ì°¾ì•˜ìŒ !"
+
+#~ msgid "Guess operations"
+#~ msgstr "수ì‹ì„ 추측해보세요"
+
+#~ msgid ""
+#~ "Tux is in trouble in his ship. He needs to take it through a lock.\n"
+#~ "Help Tux and understand how a canal lock works."
+#~ msgstr ""
+#~ "Tux는 ë°°ì—ì„œ 사고를 당했습니다. Tux는 ì •ì²´ëœ ê³³ì„ ë¹ ì ¸ë‚˜ê°€ì•¼ 합니다.\n"
+#~ "Tux를 ë•ê³  수로 ì •ì²´ê°€ 어떻게 작용하는지 ì´í•´í•˜ì„¸ìš”"
+
+#~ msgid "Learning Chess"
+#~ msgstr "체스 배우기"
+
+#~ msgid "Play chess against tux in a learning mode"
+#~ msgstr "배우기 모드로 tux를 ìƒëŒ€ë¡œ 체스 하기"
+
+#~ msgid ""
+#~ "Error: /usr/bin/gnuchessx is installed\n"
+#~ "which means you have an old version\n"
+#~ "of gnuchess.\n"
+#~ "Please upgrade to gnuchess 5 or above."
+#~ msgstr ""
+#~ "오류: /usr/bin/gnuchessx ê°€ 설치ë˜ì—ˆìŠµë‹ˆë‹¤\n"
+#~ "ë‹¹ì‹ ì€ ì˜¤ëž˜ëœ ë²„ì ¼ì„ ì„¤ì¹˜í•˜ê³  있습니다\n"
+#~ "gnuchess.\n"
+#~ "gnuchess 5 ë˜ëŠ” ë” ìµœì‹  버젼으로 업그래ì´ë“œ 해주세요."
+
+#~ msgid "Read a letter"
+#~ msgstr "글ìžë¥¼ ì½ìœ¼ì„¸ìš”"
+
+#~ msgid "Learn to recognize letters"
+#~ msgstr "ê¸€ìž êµ¬ë³„í•˜ëŠ”ë²•ì„ ë°°ìš°ì„¸ìš”"
+
+#~ msgid "Couldn't open dir: %s"
+#~ msgstr "디렉토리를 열 수 없습니다: %s"
+
+#~ msgid "Couldn't get GTK settings"
+#~ msgstr "GTK ì„¤ì •ì„ ì–»ì„ ìˆ˜ 없습니다"
+
+#~ msgid "Double clic default value %d."
+#~ msgstr "ë”블 í´ë¦­ 초기값 %d."
+
+#~ msgid "Double clic value is now %d."
+#~ msgstr "현재 ë”블 í´ë¦­ ê°’ì€ %d입니다."
+
+#~ msgid "Move the items one by one to rearrange them in increasing order"
+#~ msgstr "ì•„ì´í…œì„ í•œë²ˆì— í•˜ë‚˜ì”© 움ì§ì—¬ì„œ 커지는 순서로 재배열 하세요"
+
+#~ msgid "Given pictures of hands, find if it's a right or left one"
+#~ msgstr "ì†ì˜ ê·¸ë¦¼ì„ ë³´ê³  오른ì†ì¸ì§€ 왼ì†ì¸ì§€ 맞춰 보세요"
+
+#~ msgid "Pratice money usage"
+#~ msgstr "ëˆ ì‚¬ìš© 연습"
+
+#~ msgid "Paratrooper"
+#~ msgstr "낙하산병"
+
+#~ msgid "Direct the paratrooper to help him land safely"
+#~ msgstr "ë‚™í•˜ì‚°ë³‘ì„ ì¡°ì¢…í•´ì„œ 안전하게 착지할 수 있게 하세요"
+
+#~ msgid "You need the python xml module. Disabling SVG."
+#~ msgstr "python xml ëª¨ë“ˆì´ í•„ìš”í•©ë‹ˆë‹¤. SVG를 ë•ë‹ˆë‹¤."
+
+#~ msgid "Read Colors"
+#~ msgstr "ìƒ‰ê¹”ì„ ì½ìœ¼ì„¸ìš”"
+
+#~ msgid "Click on the corresponding color"
+#~ msgstr "ì¼ì¹˜í•˜ëŠ” ìƒ‰ê¹”ì„ í´ë¦­í•˜ì„¸ìš”"
+
+#~ msgid "Read a list of words and then tell if the given word is in it"
+#~ msgstr "ë‹¨ì–´ì˜ ëª©ë¡ì„ ì½ê³  주어진 단어가 ëª©ë¡ ì•ˆì— ìžˆëŠ”ì§€ ë§í•˜ì„¸ìš”"
+
+#~ msgid "Reverse count"
+#~ msgstr "역으로 숫ìžì„¸ê¸°"
+
+#~ msgid "Drag and Drop the items to rebuild the object"
+#~ msgstr "대ìƒì„ 다시 만들려면 ì•„ì´í…œì„ ëŒì–´ì„œ 놓으세요"
+
+#~ msgid "Numbers With Dices"
+#~ msgstr "ì£¼ì‚¬ìœ„ì˜ ìˆ«ìžë“¤"
+
+#~ msgid "Type the keyboard number 1 to 9 before the dice reaches the ground"
+#~ msgstr "주사위가 ë•…ì— ë–¨ì–´ì§€ê¸°ì „ê¹Œì§€ 키보드로 1ì—ì„œ 9까지 숫ìžë¥¼ 입력하세요"
+
+#~ msgid "Fully type the falling words before they reach the ground"
+#~ msgstr "단어가 ë•…ì— ë–¨ì–´ì§ˆë•Œê¹Œì§€ ê·¸ 단어를 완전히 입력하세요"
+
+#~ msgid "Help"
+#~ msgstr "ë„움"
+
+#~ msgid "Azerbaijani Turkic"
+#~ msgstr "아제르바ì´ìž” 튀르í¬ì–´"
+
+#~ msgid "Indian (Hindi)"
+#~ msgstr "ì¸ë„ì–´ (힌디)"
+
+#~ msgid "Brazil Portuguese"
+#~ msgstr "브ë¼ì§ˆ í¬ë¥´íˆ¬ì¹¼ì–´"
+
+#~ msgid "Only this level"
+#~ msgstr "ì´ ë‹¨ê³„ë§Œ"
+
+#~ msgid "Up to this level"
+#~ msgstr "ì´ ë‹¨ê³„ 위로"
+
+#~ msgid "This level and above"
+#~ msgstr "ì´ ë‹¨ê³„ì™€ ë†’ì€ ë‹¨ê³„"
+
+#~ msgid "No skin found in %s\n"
+#~ msgstr "%sì— ìŠ¤í‚¨ì´ ì—†ìŠµë‹ˆë‹¤\n"
+
+#~ msgid "dataset %s is a directory. Trying to read xml "
+#~ msgstr "ë°ì´í„°ì…‹ %s는 디렉토리 입니다. xmlì„ ì½ìœ¼ì„¸ìš” "
+
+#~ msgid ""
+#~ "In ImageSet %s, home pathname %s is not found. Skipping ImageSet...\n"
+#~ msgstr "ì´ë¯¸ì§€ì…‹ %sì— í™ˆ 경로 %s는 없습니다. ì´ë¯¸ì§€ì…‹ 넘어ê°...\n"
+
+#~ msgid "In ImageSet %s, an image is not found. Skipping ImageSet...\n"
+#~ msgstr "ì´ë¯¸ì§€ì…‹ %sì— ì´ë¯¸ì§€ê°€ 없습니다. ì´ë¯¸ì§€ì…‹ 넘어ê°...\n"
+
+#~ msgid ""
+#~ "In ImageSet %s, directory %s is not found. Skipping all the ImageSet...\n"
+#~ msgstr "ì´ë¯¸ì§€ì…‹ %sì— ë””ë ‰í† ë¦¬ %sê°€ 없습니다. 모든 ì´ë¯¸ì§€ì…‹ 넘어ê°...\n"
+
+#~ msgid "Gcompris Editor"
+#~ msgstr "Gcompris 편집기"
+
+#~ msgid "Icon"
+#~ msgstr "ì•„ì´ì½˜"
+
+#~ msgid "Name"
+#~ msgstr "ì´ë¦„"
+
+#~ msgid "Type"
+#~ msgstr "종류"
+
+#~ msgid "Difficulty"
+#~ msgstr "ë‚œì´ë„"
+
+#~ msgid "Author"
+#~ msgstr "ì €ìž"
+
+#~ msgid "Directory"
+#~ msgstr "디렉토리"
+
+#~ msgid "Title"
+#~ msgstr "제목"
+
+#~ msgid "Released under GPL"
+#~ msgstr "GPLë¡œ 발매 ë¨"
+
+#~ msgid "Couldn't open music dir: %s"
+#~ msgstr "ìŒì•… 디렉토리 열수 ì—†ìŒ: %s"
+
+#~ msgid ""
+#~ "The background thread music is stopped now. The files in %s are not ogg "
+#~ "vorbis OR the sound output failed"
+#~ msgstr ""
+#~ "ë°°ê²½ 스레드 ìŒì•…ì´ ë©ˆì·„ìŠµë‹ˆë‹¤. %s ì— ìžˆëŠ” 파ì¼ë“¤ì´ ogg 형ì‹ì´ 아닙니다"
+#~ "vorbis í˜¹ì€ ì†Œë¦¬ìž¬ìƒì— 실패했습니다"
+
+#~ msgid "Couldn't find pixmap file: %s"
+#~ msgstr "pixmap 파ì¼ì„ ì°¾ì„ ìˆ˜ 없습니다: %s"
+
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 1db8739..c01b2aa 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -1,4 +1,4 @@
-# translation of gcompris.HEAD.po to Português do Brasil
+# translation of pt_BR.po to Português do Brasil
# Gcompris translated strings file.
#
# Rodrigo Lima <rdlima@terra.com.br>, 2004.
@@ -6,10 +6,10 @@
# Frederico Goncalves Guimaraes <frederico@teia.bio.br>, 2006.
msgid ""
msgstr ""
-"Project-Id-Version: gcompris.HEAD\n"
+"Project-Id-Version: pt_BR\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-10-23 10:52+0200\n"
-"PO-Revision-Date: 2006-11-05 21:47-0200\n"
+"POT-Creation-Date: 2006-11-06 08:52+0100\n"
+"PO-Revision-Date: 2006-11-07 22:39-0200\n"
"Last-Translator: Frederico Goncalves Guimaraes <frederico@teia.bio.br>\n"
"Language-Team: Português do Brasil\n"
"MIME-Version: 1.0\n"
@@ -38,15 +38,16 @@ msgid ""
"usernames (login is configurable)."
msgstr ""
"- Na seção 'Atividades' você pode mudar o conjunto de atividades. Basta "
-"marcá-las/desmarcá-las na lista. Você pode mudar o idioma usado de "
-"leitura, o que irá alterar, por exemplo, a forma como são faladas as cores.\n"
-"- É possível criar várias configurações e mudar de uma para outra facilmente. "
-"Para isso, na seção 'Perfil', adicione um perfil, então, na seção 'Atividades', "
-"selecione o perfil na caixa de seleção e, depois, as atividades que você deseja "
-"ativar. Você pode adicionar múltiplos perfis, com diferentes listas de atividades "
-"e diferentes idiomas. Pode definir o perfil padrão na seção 'Perfil', selecionando "
-"aquele que você deseja e, depois, clicando no botão 'Padrão'. E também "
-"pode escolher um perfil a partir da linha de comando.\n"
+"marcá-las/desmarcá-las na lista. Você pode mudar o idioma usado de leitura, "
+"o que irá alterar, por exemplo, a forma como são faladas as cores.\n"
+"- É possível criar várias configurações e mudar de uma para outra "
+"facilmente. Para isso, na seção 'Perfil', adicione um perfil, então, na "
+"seção 'Atividades', selecione o perfil na caixa de seleção e, depois, as "
+"atividades que você deseja ativar. Você pode adicionar múltiplos perfis, com "
+"diferentes listas de atividades e diferentes idiomas. Pode definir o perfil "
+"padrão na seção 'Perfil', selecionando aquele que você deseja e, depois, "
+"clicando no botão 'Padrão'. E também pode escolher um perfil a partir da "
+"linha de comando.\n"
"- Você pode adicionar usuários, turmas e, para cada turma, criar grupos de "
"usuários. Perceba que é possível importar usuários de um arquivo com dados "
"separados por vírgula (CSF). Ao associar um ou mais grupos a um perfil, "
@@ -67,10 +68,10 @@ msgid ""
"reporting for parents and teacher who want to monitor the progress, "
"strengths and needs of their children."
msgstr ""
-"Se você deseja ajustar o GCompris às suas necessidades, você pode "
-"usar o módulo de administração. O objetivo final é fornecer relatórios "
-"específicos por criança para os pais e professores que queiram "
-"monitorar o progresso, facilidades e necessidades de suas crianças."
+"Se você deseja ajustar o GCompris às suas necessidades, você pode usar o "
+"módulo de administração. O objetivo final é fornecer relatórios específicos "
+"por criança para os pais e professores que queiram monitorar o progresso, "
+"facilidades e necessidades de suas crianças."
#: ../boards/administration.xml.in.h:6
msgid "Left-Click with the mouse to select an activity"
@@ -431,9 +432,9 @@ msgid ""
"that give the specified result. You can deselect a number or operator by "
"clicking on it again."
msgstr ""
-"Escolha, no alto da tela, os números e operadores aritiméticos que "
-"produzam resultado especificado. Os números e operadores podem ser "
-"eliminados clicando-se neles novamente."
+"Escolha, no alto da tela, os números e operadores aritiméticos que produzam "
+"resultado especificado. Os números e operadores podem ser eliminados "
+"clicando-se neles novamente."
#: ../boards/algebra_guesscount.xml.in.h:3
msgid ""
@@ -466,8 +467,8 @@ msgid ""
"to modify your answer and press the Enter key to check if you've got it "
"right. If not, just try again."
msgstr ""
-"Um problema de subtração com dois números é exibido. À direita do sinal "
-"de igual, forneça a resposta. Use as setas para esquerda e direita para "
+"Um problema de subtração com dois números é exibido. À direita do sinal de "
+"igual, forneça a resposta. Use as setas para esquerda e direita para "
"modificar a sua resposta, e pressione a tecla Enter para verificar se você "
"acertou. Caso tenha errado, tente novamente."
@@ -490,8 +491,8 @@ msgid ""
"modify your answer and press the Enter key to check if you've got it right. "
"If not, just try again."
msgstr ""
-"Um problema de adição com dois números é exibido. À direita do sinal "
-"de igual, forneça a resposta. Use as setas para esquerda e direita para "
+"Um problema de adição com dois números é exibido. À direita do sinal de "
+"igual, forneça a resposta. Use as setas para esquerda e direita para "
"modificar a sua resposta, e pressione a tecla Enter para verificar se você "
"acertou. Caso tenha errado, tente novamente."
@@ -556,9 +557,9 @@ msgid ""
"be used."
msgstr ""
"Neste jogo, a criança pode desenhar livremente. O objetivo é descobrir como "
-"criar desenhos interessantes baseados em formas básicas: retângulos, "
-"elipses e linhas. Para oferecer à criança um leque maior de opções, pode-se "
-"utilizar um conjunto de imagens."
+"criar desenhos interessantes baseados em formas básicas: retângulos, elipses "
+"e linhas. Para oferecer à criança um leque maior de opções, pode-se utilizar "
+"um conjunto de imagens."
#: ../boards/anim.xml.in.h:4 ../boards/draw.xml.in.h:4
msgid "Needs to be capable of moving and clicking the mouse easily"
@@ -584,13 +585,13 @@ msgstr ""
"o desenho estiver pronto, pode tirar uma foto dele com o botão 'câmera'. Uma "
"nova imagem, com o mesmo desenho, é criada. Você pode, então, editá-la, "
"movendo, adicionando ou removendo objetos. Quando você criar vários desenhos "
-"e clicar no botão 'claquete', você verá todas as imagens criadas em um show de "
-"slides contínuo (em um padrão de repetição infinito). Você também pode modificar "
-"a velocidade de exibição nesse modo. No modo de visualização, clique no botão "
-"'paleta de cores' para voltar ao modo de desenho. Você pode editar cada imagem "
-"da sua animação, usando o seletor de imagens no canto inferior esquerdo da tela. "
-"Você também pode salvar e abrir suas animações a partir dos botões 'disquete' e "
-"'pasta'."
+"e clicar no botão 'claquete', você verá todas as imagens criadas em um show "
+"de slides contínuo (em um padrão de repetição infinito). Você também pode "
+"modificar a velocidade de exibição nesse modo. No modo de visualização, "
+"clique no botão 'paleta de cores' para voltar ao modo de desenho. Você pode "
+"editar cada imagem da sua animação, usando o seletor de imagens no canto "
+"inferior esquerdo da tela. Você também pode salvar e abrir suas animações a "
+"partir dos botões 'disquete' e 'pasta'."
#: ../boards/awele.xml.in.h:1
msgid ""
@@ -618,29 +619,29 @@ msgid ""
"wikipedia.org/wiki/Oware&gt;)"
msgstr ""
"No início do jogo são colocadas quatro sementes em cada casa. O jogo "
-"consiste em movimentar as sementes. Em cada rodada, o jogador escolhe "
-"uma das seis casas sob seu controle. O jogador remove todas as sementes "
-"dessa casa e as distribui, deixando uma em cada casa, no sentido anti-horário "
-"a partir da casa original, em um processo chamado 'semeadura'. As sementes "
-"não são distribuídas nas casas com as pontuações nem nas casas de onde "
-"foram tiradas. Isso significa que a casa de origem é deixada vazia; caso ela "
+"consiste em movimentar as sementes. Em cada rodada, o jogador escolhe uma "
+"das seis casas sob seu controle. O jogador remove todas as sementes dessa "
+"casa e as distribui, deixando uma em cada casa, no sentido anti-horário a "
+"partir da casa original, em um processo chamado 'semeadura'. As sementes não "
+"são distribuídas nas casas com as pontuações nem nas casas de onde foram "
+"tiradas. Isso significa que a casa de origem é deixada vazia; caso ela "
"possua 12 sementes, ela é pulada e a décima-segunda semente é colocada na "
-"próxima casa. Na rodada, caso a última semente seja colocada em uma casa "
-"do adversário e o total de sementes dessa casa resulte em dois ou três, todas "
-"as sementes dessa casa são capturadas e colocadas na casa de pontuação "
-"do jogador da rodada (ou deixada de lado, caso o tabuleiro não possua casa "
-"de pontuação). Se a penúltima semente também fizer com que o total de "
-"sementes da casa do adversário atinja o valor de dois ou três, essas também "
-"são capturadas e assim sucessivamente. Entretanto, se um movimento "
-"capturar todas as sementes do adversário, a jogada é perdida e as sementes, "
-"deixadas no tabuleiro, uma vez que isso poderia impedir o adversário de "
-"continuar o jogo. O princípio de impedir a captura de todas as sementes do "
-"adversário está ligado a uma idéia mais geral de que um jogador deve fazer "
-"movimentos que permitam ao seu adversário continuar jogando. Se todas as "
-"casas do adversário estão vazias, o jogador atual deve fazer um movimento "
-"que forneça sementes ao adversário. Caso isso não seja possível, o jogador "
-"atual captura todas as sementes em seu território, terminando o jogo. (Adaptado "
-"e traduzido da Wikipedia &lt;http://en.wikipedia.org/wiki/Oware&gt;)."
+"próxima casa. Na rodada, caso a última semente seja colocada em uma casa do "
+"adversário e o total de sementes dessa casa resulte em dois ou três, todas "
+"as sementes dessa casa são capturadas e colocadas na casa de pontuação do "
+"jogador da rodada (ou deixada de lado, caso o tabuleiro não possua casa de "
+"pontuação). Se a penúltima semente também fizer com que o total de sementes "
+"da casa do adversário atinja o valor de dois ou três, essas também são "
+"capturadas e assim sucessivamente. Entretanto, se um movimento capturar "
+"todas as sementes do adversário, a jogada é perdida e as sementes, deixadas "
+"no tabuleiro, uma vez que isso poderia impedir o adversário de continuar o "
+"jogo. O princípio de impedir a captura de todas as sementes do adversário "
+"está ligado a uma idéia mais geral de que um jogador deve fazer movimentos "
+"que permitam ao seu adversário continuar jogando. Se todas as casas do "
+"adversário estão vazias, o jogador atual deve fazer um movimento que forneça "
+"sementes ao adversário. Caso isso não seja possível, o jogador atual captura "
+"todas as sementes em seu território, terminando o jogo. (Adaptado e "
+"traduzido da Wikipedia &lt;http://en.wikipedia.org/wiki/Oware&gt;)."
#: ../boards/awele.xml.in.h:2
msgid "Oware"
@@ -660,13 +661,13 @@ msgid ""
"each (draw). If both players agree that the game has been reduced to an "
"endless cycle, each player captures the stones on their side of the board."
msgstr ""
-"O objetivo do jogo é capturar mais sementes que o seu adversário. Uma vez que "
-"o jogo possui 48 sementes, capturar 25 é o suficiente para atingir tal objetivo. E "
-"como o número de sementes é par, é possível que o jogo termine empatado, "
-"caso cada jogador capture 24. O jogo termina quando um dos jogadores captura "
-"25 ou mais sementes, ou quando ambos capturam 24. Se ambos os jogadores "
-"concordarem que o jogo reduziu-se a um ciclo sem fim, cada jogador captura as "
-"sementes do seu lado do tabuleiro."
+"O objetivo do jogo é capturar mais sementes que o seu adversário. Uma vez "
+"que o jogo possui 48 sementes, capturar 25 é o suficiente para atingir tal "
+"objetivo. E como o número de sementes é par, é possível que o jogo termine "
+"empatado, caso cada jogador capture 24. O jogo termina quando um dos "
+"jogadores captura 25 ou mais sementes, ou quando ambos capturam 24. Se ambos "
+"os jogadores concordarem que o jogo reduziu-se a um ciclo sem fim, cada "
+"jogador captura as sementes do seu lado do tabuleiro."
#: ../boards/babymatch.xml.in.h:1 ../boards/babymatch/board1_0.xml.in.h:1
#: ../boards/babymatch/board2_0.xml.in.h:1
@@ -688,10 +689,10 @@ msgid ""
"area."
msgstr ""
"Na área principal, um grupo de objetos é mostrado. Na caixa vertical (à "
-"esquerda da área principal), outro grupo de objetos é mostrado, cada um deles "
-"correspondente a um objeto da área principal. Esse jogo desafia você a encontrar "
-"a ligação lógica entre estes objetos. Como eles se relacionam? Arraste os objetos "
-"para o espaço vermelho correspondente, na área principal."
+"esquerda da área principal), outro grupo de objetos é mostrado, cada um "
+"deles correspondente a um objeto da área principal. Esse jogo desafia você a "
+"encontrar a ligação lógica entre estes objetos. Como eles se relacionam? "
+"Arraste os objetos para o espaço vermelho correspondente, na área principal."
#: ../boards/babymatch.xml.in.h:3
msgid "Matching Items"
@@ -714,8 +715,8 @@ msgid ""
"Complete the puzzle by dragging each piece from the set of pieces on the "
"left, to the matching space in the puzzle."
msgstr ""
-"Complete o quebra-cabeça, arrastando as peças do conjuto à esquerda até "
-"o espaço correspondente na tela."
+"Complete o quebra-cabeça, arrastando as peças do conjuto à esquerda até o "
+"espaço correspondente na tela."
#: ../boards/babyshapes.xml.in.h:3
msgid "Drag and Drop the shapes on their respective targets"
@@ -750,8 +751,8 @@ msgid ""
"Press the two shift keys at the same time, to make the ball go in a straight "
"line."
msgstr ""
-"Aperte simultaneamente as duas teclas Shift para fazer a bola ir em uma linha "
-"reta."
+"Aperte simultaneamente as duas teclas Shift para fazer a bola ir em uma "
+"linha reta."
#: ../boards/bargame.xml.in.h:1
msgid "Brain"
@@ -800,8 +801,9 @@ msgid ""
"Point the mouse and click on the ball, to set the speed and direction of the "
"ball. The closer you click to the centre, the slower the ball moves."
msgstr ""
-"Aponte o mouse para a bola e clique nela para definir sua velocidade e direção. "
-"Quanto mais próximo do centro for o clique, mais lentamente a bola irá se mover."
+"Aponte o mouse para a bola e clique nela para definir sua velocidade e "
+"direção. Quanto mais próximo do centro for o clique, mais lentamente a bola "
+"irá se mover."
#: ../boards/billard.xml.in.h:5
msgid "The football game"
@@ -923,7 +925,6 @@ msgid "1769 Cugnot's fardier"
msgstr "1789 Fardier de Cugnot"
#: ../boards/chronos/board3_0.xml.in.h:2 ../boards/chronos/board3_3.xml.in.h:5
-#: ../boards/chronos/board3_4.xml.in.h:2
msgid ""
"1829 Stephenson's Rocket\n"
"Steam locomotive"
@@ -978,6 +979,10 @@ msgstr ""
"1791 Celerifere do\n"
"Conde de Sivrac"
+#: ../boards/chronos/board3_4.xml.in.h:2
+msgid "1829 Stephenson's Rocket\\nSteam locomotive"
+msgstr "1829 Locomotiva à vapor\\nRocket de Stephenson"
+
#: ../boards/chronos/board4_0.xml.in.h:2
msgid "1903 The Wright brothers' Flyer III"
msgstr "1903 Flyer III dos irmãos Wright"
@@ -1098,9 +1103,12 @@ msgid ""
"Location: Unknown (image nur03013)"
msgstr ""
"Os peixes foram tirados do utilitário Unix xfishtank.\n"
-"As imagens foram tiradas da coleção do National Undersea Research Program (NURP) em &lt;http://www.photolib.noaa.gov&gt;\n"
-"Todos os créditos das imagens pertencem à OAR/National Undersea Research Program (NURP),\n"
-"exceto a primeira imagem, que é propriedade da Universidade da Carolina do Norte em Wilmington.\n"
+"As imagens foram tiradas da coleção do National Undersea Research Program "
+"(NURP) em &lt;http://www.photolib.noaa.gov&gt;\n"
+"Todos os créditos das imagens pertencem à OAR/National Undersea Research "
+"Program (NURP),\n"
+"exceto a primeira imagem, que é propriedade da Universidade da Carolina do "
+"Norte em Wilmington.\n"
"As imagens usadas em cada nível são:\n"
"Localização: Oceano Tropical Atlântico, Florida Keys (imagem nur00523) "
"Fotógrafo: D. Kesling \n"
@@ -1147,7 +1155,9 @@ msgid ""
"Set the clock to the time given, in the time-units shown (hours:minutes or "
"hours:minutes:seconds). Click on the different arrows, and move the mouse, "
"to make the numbers go up or down."
-msgstr "Coloque os ponteiros na hora indicada pelos números (horas:minutos ou horas:minutos:segundos). Clique nos ponteiros e mova-os para o lugar correto."
+msgstr ""
+"Coloque os ponteiros na hora indicada pelos números (horas:minutos ou horas:"
+"minutos:segundos). Clique nos ponteiros e mova-os para o lugar correto."
#: ../boards/clockgame.xml.in.h:5
msgid "The concept of time. Reading the time."
@@ -1209,7 +1219,7 @@ msgstr "Ligue 4"
msgid ""
"Create a line of 4 pieces either horizontally (lying down) or vertically "
"(standing up)"
-msgstr "Crie uma linha de 4 peças, na horizontal ou na vertical."
+msgstr "Crie uma linha de 4 peças, na horizontal (deitada) ou na vertical (em pé)."
#: ../boards/connect4.xml.in.h:5
msgid ""
@@ -1218,8 +1228,8 @@ msgid ""
"http://forcedattack.sourceforge.net&gt;"
msgstr ""
"Laurent Lacheny. As imagens e a inteligência artificial de foram obtidas no "
-"projeto 4stattack, por Jeroen Vloothuis. O projeto original pode ser encontrado "
-"em &lt;http://forcedattack.sourceforge.net&gt;."
+"projeto 4stattack, por Jeroen Vloothuis. O projeto original pode ser "
+"encontrado em &lt;http://forcedattack.sourceforge.net&gt;."
#: ../boards/crane.xml.in.h:1
msgid "Build the same model"
@@ -1246,8 +1256,8 @@ msgid ""
msgstr ""
"Mova os itens na moldura inferior à esquerda para copiar sua posição do "
"modelo no canto superior direito. Abaixo do guindaste você irá encontrar "
-"quadro setas que lhe permitem mover os itens. Para selecionar um item, "
-"basta clicar nele."
+"quadro setas que lhe permitem mover os itens. Para selecionar um item, basta "
+"clicar nele."
#: ../boards/discovery.xml.in.h:1
msgid "Colors, sounds, memory..."
@@ -1298,8 +1308,8 @@ msgid ""
"lines."
msgstr ""
"Neste jogo, a criança pode desenhar livremente. O objetivo é descobrir como "
-"criar desenhos interessantes baseados em formas básicas: retângulos, "
-"elipses e linhas."
+"criar desenhos interessantes baseados em formas básicas: retângulos, elipses "
+"e linhas."
#: ../boards/draw.xml.in.h:5
msgid ""
@@ -1309,8 +1319,8 @@ msgid ""
msgstr ""
"Selecione uma ferramenta de desenho à esquerda e uma cor abaixo. Então, "
"clique na área em branco e arraste o mouse para criar uma nova forma. Para "
-"economizar tempo, você pode clicar com o botão do meio do mouse para "
-"excluir um objeto."
+"economizar tempo, você pode clicar com o botão do meio do mouse para excluir "
+"um objeto."
#: ../boards/electric.xml.in.h:1
msgid "Create and simulate an electric schema"
@@ -1329,14 +1339,14 @@ msgid ""
"updated in real time by any user action."
msgstr ""
"Arraste os componentes elétricos do seletor e solte-os na área de trabalho. "
-"Para criar fios, clique em um ponto de conexão, arraste o mouse até o próximo "
-"ponto de conexão e solte o botão. Você também pode mover os componentes "
-"arrastando-os. Você pode excluir os fios clicando neles. Para excluir um "
-"componente, selecione a ferramenta de exclusão (borracha) no alto do seletor "
-"de componentes. Você pode clicar no interruptor para abri-lo ou fechá-lo. Pode "
-"mudar o valor do reostato arrastando seu regulador. Para simular o que acontece "
-"quando a lâmpada é acesa, clique nela com o botão direito. A simulação é "
-"atualizada em tempo real por qualquer ação do usuário."
+"Para criar fios, clique em um ponto de conexão, arraste o mouse até o "
+"próximo ponto de conexão e solte o botão. Você também pode mover os "
+"componentes arrastando-os. Você pode excluir os fios clicando neles. Para "
+"excluir um componente, selecione a ferramenta de exclusão (borracha) no alto "
+"do seletor de componentes. Você pode clicar no interruptor para abri-lo ou "
+"fechá-lo. Pode mudar o valor do reostato arrastando seu regulador. Para "
+"simular o que acontece quando a lâmpada é acesa, clique nela com o botão "
+"direito. A simulação é atualizada em tempo real por qualquer ação do usuário."
#: ../boards/electric.xml.in.h:3
msgid "Electricity"
@@ -1352,7 +1362,8 @@ msgid ""
"information on gnucap at &lt;http://geda.seul.org/tools/gnucap/&gt;."
msgstr ""
"O GCompris utiliza o simulador elétrico GNUCap como mecanismo. Você pode "
-"obter mais informações sobre o GNUCap em &lt;http://geda.seul.org/tools/gnucap/&gt;."
+"obter mais informações sobre o GNUCap em &lt;http://geda.seul.org/tools/"
+"gnucap/&gt;."
#: ../boards/electric.xml.in.h:6
msgid "Requires some basic understanding of the concept of electricity."
@@ -1373,8 +1384,8 @@ msgid ""
"the keyboard and press the OK button or the 'Enter' key."
msgstr ""
"Primeiro, organize corretamente os itens de modo que você possa contá-los. "
-"Selecione então o item que você quer responder na área inferior direita. Digite"
-"a resposta e pressione o botão OK ou a tecla 'Enter'."
+"Selecione então o item que você quer responder na área inferior direita. "
+"Digitea resposta e pressione o botão OK ou a tecla 'Enter'."
#: ../boards/enumerate.xml.in.h:4 ../boards/planegame.xml.in.h:5
#: ../src/boards/enumerate.c:89
@@ -1392,8 +1403,10 @@ msgid ""
"gave GCompris the authorization to include their pictures. Thanks a lot, "
"both of you."
msgstr ""
-"As fotos dos animais vieram da Animal Photography Page de Ralf Schmode "
-"(&lt;http://schmode.net/&gt;) e de LE BERRE Daniel. Essas pessoas gentilmente permitiram-nos a inclusão de suas imagens no GCompris. Muito obrigado aos dois."
+"As fotos dos animais vieram da Animal Photography Page de Ralf Schmode (&lt;"
+"http://schmode.net/&gt;) e de LE BERRE Daniel. Essas pessoas gentilmente "
+"permitiram-nos a inclusão de suas imagens no GCompris. Muito obrigado aos "
+"dois."
#: ../boards/erase.xml.in.h:4 ../src/boards/erase.c:113
#: ../src/boards/machpuzzle.c:88
@@ -1430,7 +1443,9 @@ msgstr "Clique-duplo com o mouse"
#: ../boards/erase_double_clic.xml.in.h:4
msgid "Double-click the mouse on rectangles until all the blocks disappear."
-msgstr "Clique duas vezes com o mouse nos retângulos até todos os blocos desaparecerem."
+msgstr ""
+"Clique duas vezes com o mouse nos retângulos até todos os blocos "
+"desaparecerem."
#: ../boards/experience.xml.in.h:1
msgid "Go to experiential activities"
@@ -1482,9 +1497,9 @@ msgid ""
"bringing it, part by part, up to the flowers. Be careful, if you move off "
"the hose, the red part will go back down."
msgstr ""
-"Movimente o mouse sobre a parte vermelha da mangueira. Isso irá mover "
-"a água, por toda sua extensão, até as flores. Tome cuidado, se você sair "
-"da mangueira, a parte vermelha irá voltar ao início."
+"Movimente o mouse sobre a parte vermelha da mangueira. Isso irá mover a "
+"água, por toda sua extensão, até as flores. Tome cuidado, se você sair da "
+"mangueira, a parte vermelha irá voltar ao início."
#: ../boards/followline.xml.in.h:4
msgid "Tux needs to water the flowers, but the hose is blocked."
@@ -2123,7 +2138,9 @@ msgstr "Mastigador de Números Iguais"
msgid ""
"Guide the Number Muncher to the expressions that equal the number at the top "
"of the screen."
-msgstr "Leve o Mastigador de Números até as expressões que produzam o valor do número que aparece no alto da tela."
+msgstr ""
+"Leve o Mastigador de Números até as expressões que produzam o valor do "
+"número que aparece no alto da tela."
#: ../boards/gnumch-equality.xml.in.h:3
msgid "Practice addition, multiplication, division and subtraction."
@@ -2134,8 +2151,8 @@ msgid ""
"Use the arrow keys to navigate around the board and to avoid the Troggles. "
"Press the spacebar to eat a number."
msgstr ""
-"Use as teclas de seta para navegar pelo tabuleiro e evitar os Troggles. Pressione "
-"a barra de espaço para comer um número."
+"Use as teclas de seta para navegar pelo tabuleiro e evitar os Troggles. "
+"Pressione a barra de espaço para comer um número."
#: ../boards/gnumch-factors.xml.in.h:1
msgid "Factor Number Munchers"
@@ -2145,7 +2162,9 @@ msgstr "Mastigador de Números Fatoriais"
msgid ""
"Guide the Number Muncher to all the factors of the number at the top of the "
"screen."
-msgstr "Leve o Mastigador de Números até os fatores do número que aparece no alto da tela."
+msgstr ""
+"Leve o Mastigador de Números até os fatores do número que aparece no alto da "
+"tela."
#: ../boards/gnumch-factors.xml.in.h:3
msgid "Learn about factors and multiples."
@@ -2169,8 +2188,8 @@ msgstr ""
"primeiro. Você pode pensar em múltiplos como famílias e fatores como as "
"pessoas dessas famílias. Dessa forma, 1, 2, 3 e 6 são membros da família 6, "
"mas o 4 pertence a outra família. Use as teclas de seta para navegar pelo "
-"tabuleiro e para evitar os Troggles. Pressione a barra de espaço para comer um "
-"número."
+"tabuleiro e para evitar os Troggles. Pressione a barra de espaço para comer "
+"um número."
#: ../boards/gnumch-inequality.xml.in.h:1
msgid ""
@@ -2192,7 +2211,9 @@ msgstr "Praticar adição, multiplicação, divisão e subtração."
msgid ""
"Guide the Number Muncher to all the multiples of the number at the top of "
"the screen."
-msgstr "Leve o Mastigador de Números até os múltiplos do número que aparece no alto da tela."
+msgstr ""
+"Leve o Mastigador de Números até os múltiplos do número que aparece no alto "
+"da tela."
#: ../boards/gnumch-multiples.xml.in.h:2
msgid "Learn about multiples and factors."
@@ -2222,14 +2243,15 @@ msgstr ""
"outro. Por exemplo, 24, 36, 48 e 60 são todos múltiplos de 12. O 25 não é um "
"múltiplo de 12 porque não existe nenhum número que, multiplicado por 12, "
"produza 25. Se um número é um fator de outro, então o segundo número é um "
-"múltiplo do primeiro. Novamente, você pode pensar nos múltiplos como famílias, "
-"e nos fatores como membros dessas famílias. O fator 5 possui como pais o 10, "
-"como avós o 15, como bisavós o 20, como trisavós o 25 e assim sucessivamente, "
-"de 5 em 5.Mas o número 5 não pertence às famílias 8 ou 23. Você não pode "
-"encaixar nenhuma quantidade de números 5 em 8 ou 23 sem sobrar alguma "
-"coisa. Portanto, nem o 8 nem o 23 são múltiplos de 5. Apenas 5, 10, 15, 20, 25... "
-"são múltiplos (ou famílias) de 5. Use as teclas de seta para navegar pelotabuleiro "
-"e para evitar os Troggles. Pressione a barra de espaço para comer um número."
+"múltiplo do primeiro. Novamente, você pode pensar nos múltiplos como "
+"famílias, e nos fatores como membros dessas famílias. O fator 5 possui como "
+"pais o 10, como avós o 15, como bisavós o 20, como trisavós o 25 e assim "
+"sucessivamente, de 5 em 5.Mas o número 5 não pertence às famílias 8 ou 23. "
+"Você não pode encaixar nenhuma quantidade de números 5 em 8 ou 23 sem sobrar "
+"alguma coisa. Portanto, nem o 8 nem o 23 são múltiplos de 5. Apenas 5, 10, "
+"15, 20, 25... são múltiplos (ou famílias) de 5. Use as teclas de seta para "
+"navegar pelotabuleiro e para evitar os Troggles. Pressione a barra de espaço "
+"para comer um número."
#: ../boards/gnumch-primes.xml.in.h:1
msgid "Guide the Number Muncher to all the prime numbers."
@@ -2256,12 +2278,12 @@ msgid ""
msgstr ""
"Números primos são aqueles apenas divisíveis por eles mesmo e por 1. Por "
"exemplo, 3 é um número primo, mas 4 não (porque 4 é divisível, também, por "
-"2). Você pode pensar nos números primos como uma família muito pequena: "
-"eles sempre possuem somente dois membros nela! Somente eles mesmo e 1. "
-"O 5 é um desse números solitários (apenas 5×1=5). Já o 6 possui, além dele "
-"mesmo, o 2 e o 3 em sua família (6×1=6, 2×3=6). Assim, o 6 não é um "
-"número primo. Use as teclas de seta para navegar pelo tabuleiro e para evitar "
-"os Troggles. Pressione a barra de espaço para comer um número."
+"2). Você pode pensar nos números primos como uma família muito pequena: eles "
+"sempre possuem somente dois membros nela! Somente eles mesmo e 1. O 5 é um "
+"desse números solitários (apenas 5×1=5). Já o 6 possui, além dele mesmo, o 2 "
+"e o 3 em sua família (6×1=6, 2×3=6). Assim, o 6 não é um número primo. Use "
+"as teclas de seta para navegar pelo tabuleiro e para evitar os Troggles. "
+"Pressione a barra de espaço para comer um número."
#: ../boards/gnumchmenu.xml.in.h:1
msgid "Go to Number Munchers activities"
@@ -2292,14 +2314,15 @@ msgid ""
"If Tux is over or under the escape area, it means your number is over or "
"under the correct number."
msgstr ""
-"As instruções iniciais lhe fornecem o valor máximo do número a ser encontrado. "
-"Digite um número na caixa situada no alto da tela, à direita. O Tux lhe dirá se "
-"você acertou o número ou se ele é maior ou menor do que o indicado. Caso não "
-"tenha acertado, tente novamente. A distância que o helicóptero se encontra da "
-"saída da caverna representa a diferença entre o número que você digitou e o valor "
-"correto. Quanto mais próximo da entrada, mais perto você está do resultado. "
-"Além disso, se o helicóptero estiver acima ou abaixo da saída, indica que o número "
-"está acima ou abaixo do valor correto."
+"As instruções iniciais lhe fornecem o valor máximo do número a ser "
+"encontrado. Digite um número na caixa situada no alto da tela, à direita. O "
+"Tux lhe dirá se você acertou o número ou se ele é maior ou menor do que o "
+"indicado. Caso não tenha acertado, tente novamente. A distância que o "
+"helicóptero se encontra da saída da caverna representa a diferença entre o "
+"número que você digitou e o valor correto. Quanto mais próximo da entrada, "
+"mais perto você está do resultado. Além disso, se o helicóptero estiver "
+"acima ou abaixo da saída, indica que o número está acima ou abaixo do valor "
+"correto."
#: ../boards/hanoi.xml.in.h:1
msgid "Concept taken from EPI games."
@@ -2310,8 +2333,8 @@ msgid ""
"Drag and Drop one top piece at a time, from one peg to another, to reproduce "
"the tower on the right in the empty space on the left."
msgstr ""
-"Arraste e solte as peças superiores de um pino para outro, para reproduzir a torre "
-"da direita no espaço vazio à esquerda."
+"Arraste e solte as peças superiores de um pino para outro, para reproduzir a "
+"torre da direita no espaço vazio à esquerda."
#: ../boards/hanoi.xml.in.h:4 ../src/boards/hanoi.c:97
msgid "Reproduce the given tower"
@@ -2330,8 +2353,8 @@ msgid ""
"Drag and Drop the top pieces only from one peg to another, to reproduce the "
"tower on the right in the empty space on the left."
msgstr ""
-"Arraste e solte as peças superiores de um pino para outro, para reproduzir a torre "
-"da esquerda no espaço marcado à direita.."
+"Arraste e solte as peças superiores de um pino para outro, para reproduzir a "
+"torre da esquerda no espaço marcado à direita.."
#: ../boards/hanoi_real.xml.in.h:3
msgid "Reproduce the tower on the right side"
@@ -2348,10 +2371,10 @@ msgid ""
"* only one disc may be moved at a time\n"
"* no disc may be placed atop a smaller disc"
msgstr ""
-"O objetivo do jogo é mover a pilha inteira de um pino para o outro, obedecendo "
-"às seguintes regras:\n"
+"O objetivo do jogo é mover a pilha inteira de um pino para o outro, "
+"obedecendo às seguintes regras:\n"
"* somente um disco pode ser movido de cada vez;\n"
-"* um disco só pode ser colocados sobre outro disco maior do que ele."
+"* um disco não pode ser colocado sobre um menor do que ele."
#: ../boards/hanoi_real.xml.in.h:8
msgid ""
@@ -2366,12 +2389,12 @@ msgid ""
msgstr ""
"Esse quebra-cabeça foi inventado pelo matemático francês Edouard Lucas em "
"1883. Existe uma lenda sobre um tempo hindu cujos sacerdotes estavam "
-"constantemente envolvidos em mover um conjunto de 64 discos de acordo "
-"com as regras do quebra-cabeça Torre de Hanói. De acordo com a lenda, o "
-"mundo terminaria quando os sacerdotes terminassem seu trabalho. Por isso, "
-"esse quebra-cabeça também é conhecido como Torre de Brahma. Existem "
-"dúvidas se Lucas inventou essa lenda ou foi inspirado por ela (fonte: "
-"Wikipédia &lt;http://en.wikipedia.org/wiki/Tower_of_hanoi&gt;)."
+"constantemente envolvidos em mover um conjunto de 64 discos de acordo com as "
+"regras do quebra-cabeça Torre de Hanói. De acordo com a lenda, o mundo "
+"terminaria quando os sacerdotes terminassem seu trabalho. Por isso, esse "
+"quebra-cabeça também é conhecido como Torre de Brahma. Existem dúvidas se "
+"Lucas inventou essa lenda ou foi inspirado por ela (fonte: Wikipédia &lt;"
+"http://en.wikipedia.org/wiki/Tower_of_hanoi&gt;)."
#: ../boards/hexagon.xml.in.h:1
msgid "Find the strawberry by clicking on the blue fields"
@@ -2382,8 +2405,8 @@ msgid ""
"Try to find the strawberry under the blue fields. The fields become redder "
"as you get closer."
msgstr ""
-"Tente encontrar o morango embaixo dos campos azuis. Quanto mais próximo "
-"você estiver do morango, mais vermelhos os campos ficam."
+"Tente encontrar o morango embaixo dos campos azuis. Quanto mais próximo você "
+"estiver do morango, mais vermelhos os campos ficam."
#: ../boards/hexagon.xml.in.h:5
msgid "hexagon"
@@ -2460,8 +2483,8 @@ msgstr "carro"
msgid "cat"
msgstr "gato"
+# tradução contextual, na verdade essa palavra não aparece no jogo, mas serve para confundir com 'cat'; usei 'cato', no lugar por isso
#: ../boards/imageid/board1.xml.in.h:14
-#tradução contextual, na verdade essa palavra não aparece no jogo, mas serve para confundir com 'cat'; usei 'cato', no lugar por isso
msgid "catch"
msgstr "cato"
@@ -2705,8 +2728,8 @@ msgstr ""
"você pode criar diferentes perfis. Em cada perfil você pode ter\n"
"vários conjuntos de usuários e selecionar quais atividades estarão\n"
"disponíveis para cada um deles.\n"
-"Para abrir o GCompris diretamente em um perfil específico, use o\n "
-"comando 'gcompris -p perfil', onde 'perfil' é o nome do perfil que\n"
+"Para abrir o GCompris diretamente em um perfil específico, use o\n"
+" comando 'gcompris -p perfil', onde 'perfil' é o nome do perfil que\n"
"você criou na administração."
#: ../boards/login.xml.in.h:10
@@ -2723,9 +2746,9 @@ msgid ""
"see moving around? Count carefully. :) Click in the bottom-right area to "
"input your answer."
msgstr ""
-"Clique no chapéu para abri-lo e fechá-lo. Quantas estrelas você pode ver "
+"Clique no chapéu para abri-lo ou fechá-lo. Quantas estrelas você pode ver "
"movendo-se sob o chapéu? Conte cuidadosamente. :-) Indique sua resposta "
-"marcando as estrelas da área verde, no canto inferior direito da tela."
+"clicando no canto inferior direito da tela."
#: ../boards/magic_hat_plus.xml.in.h:3
msgid "Count how many items are under the magic hat"
@@ -2741,7 +2764,9 @@ msgstr "O chapéu mágico"
#: ../boards/magic_hat_minus.xml.in.h:1
msgid "Count how many items are under the magic hat after some have got away"
-msgstr "Conte quantos itens encontram-se sob o chapéu mágico, após alguns terem escapado."
+msgstr ""
+"Conte quantos itens encontram-se sob o chapéu mágico, após alguns terem "
+"escapado."
#: ../boards/magic_hat_minus.xml.in.h:2
msgid "Learn subtraction"
@@ -2757,8 +2782,8 @@ msgstr ""
"Olhe para o mágico. Ele dirá quantas estrelas estão sob o chapéu mágico. "
"Então clique no chapéu para abri-lo. Algumas estrelas irão escapar. Clique "
"novamente no chapéu para fechá-lo. Você tem que contar quantas estrelas "
-"ainda estão sob o chapéu. Indique sua resposta marcando as estrelas da "
-"área verde, no canto inferior direito da tela."
+"ainda estão sob o chapéu. Indique sua resposta marcando as estrelas da área "
+"verde, no canto inferior direito da tela."
#: ../boards/magic_hat_minus.xml.in.h:4 ../boards/memory_add_minus.xml.in.h:3
#: ../boards/memory_add_minus_tux.xml.in.h:3 ../boards/memory_minus.xml.in.h:2
@@ -2827,8 +2852,8 @@ msgid ""
"position, like a map. You cannot move Tux in 2D mode."
msgstr ""
"Use as setas do teclado para movimentar o Tux até a porta. Use a barra de "
-"espaço para trocar entre os modos 2D e 3D. O modo 2D lhe fornece sua "
-"posição no mapa. Você não pode movimentar o Tux no modo 2D."
+"espaço para trocar entre os modos 2D e 3D. O modo 2D lhe fornece sua posição "
+"no mapa. Você não pode movimentar o Tux no modo 2D."
#: ../boards/mazeInvisible.xml.in.h:2
msgid "Find your way out of the invisible maze"
@@ -2861,8 +2886,8 @@ msgid ""
"Listen to the sound sequence played, and repeat it by clicking on the "
"elements. You can listen again by clicking on the repeat button."
msgstr ""
-"Escute a seqüência de sons e repita-a clicando nos elementos. Você pode"
-"escutá-la novamente clicando no botão de repetir."
+"Escute a seqüência de sons e repita-a clicando nos elementos. Você "
+"podeescutá-la novamente clicando no botão de repetir."
#: ../boards/melody.xml.in.h:3
msgid "Melody"
@@ -2946,21 +2971,21 @@ msgstr ""
"se encontra do outro lado. Assim 2 (1,2) e mais 2 (3,4) produzem 4. Conte "
"alto e usando os seus dedos quando estiver trabalhando nisso, porque quanto "
"mais maneiras diferentes você usar para fazer alguma coisa, melhor você se "
-"lembrará dela. Você também pode usar blocos ou botões ou qualquer coisa "
-"que possa contar. Se você tiver vários irmãos e irmãs você pode contar até "
-"eles! Ou os seus colegas de turma. Cante canções de contagem. Conte várias "
-"coisas, para praticar e você ficara muito bom em adições!\n"
+"lembrará dela. Você também pode usar blocos ou botões ou qualquer coisa que "
+"possa contar. Se você tiver vários irmãos e irmãs você pode contar até eles! "
+"Ou os seus colegas de turma. Cante canções de contagem. Conte várias coisas, "
+"para praticar e você ficara muito bom em adições!\n"
"\n"
"Nesse jogo, as cartas estão escondendo as duas partes da adição: uma carta "
"possui a operação (por exemplo 2+2) e a outra o resultado (por exemplo, 4). "
-"Você precisa encontrar essas duas partes. Clique em uma carta para ver o "
-"que ela esconde e, então, tente encontrar a carta que a complementa. Você "
-"só pode virar duas cartas de cada vez, então você deverá lembrar onde a "
+"Você precisa encontrar essas duas partes. Clique em uma carta para ver o que "
+"ela esconde e, então, tente encontrar a carta que a complementa. Você só "
+"pode virar duas cartas de cada vez, então você deverá lembrar onde a "
"operação/resultado está, enquanto você procura pelo seu par. Você estará "
"fazendo o papel dos sinais de igual e os números precisam de você para "
"colocá-los juntos e fazer a soma correta. Quando você encontra o par, ambas "
-"as cartas desaparecem. Quando todas desaparecerem, você encontrou todas "
-"as somas e ganhou o jogo!"
+"as cartas desaparecem. Quando todas desaparecerem, você encontrou todas as "
+"somas e ganhou o jogo!"
#: ../boards/memory_add_minus.xml.in.h:1
msgid "Addition and subtraction memory game"
@@ -3005,15 +3030,15 @@ msgstr ""
"Você pode ver as cartas, mas não o que está do outro lado. Cada carta "
"esconde uma operação ou a resposta de uma operação.\n"
"\n"
-"Nesse jogo, as cartas estão escondendo as duas partes de uma operação. "
-"Você precisa encontrar essas duas partes. Clique em uma carta para ver o "
-"que ela esconde e, então, tente encontrar a carta que complemente a "
-"operação. Você só pode virar duas cartas de cada vez, então você deverá "
-"lembrar onde a operação/resultado está, enquanto você procura pelo seu par. "
-"Você estará fazendo o papel dos sinais de igual e os números precisam de "
-"você para colocá-los juntos e fazer a operação correta. Quando você encontra "
-"o par, ambas as cartas desaparecem. Quando todas desaparecerem, você "
-"encontrou todas as operações e ganhou o jogo!"
+"Nesse jogo, as cartas estão escondendo as duas partes de uma operação. Você "
+"precisa encontrar essas duas partes. Clique em uma carta para ver o que ela "
+"esconde e, então, tente encontrar a carta que complemente a operação. Você "
+"só pode virar duas cartas de cada vez, então você deverá lembrar onde a "
+"operação/resultado está, enquanto você procura pelo seu par. Você estará "
+"fazendo o papel dos sinais de igual e os números precisam de você para "
+"colocá-los juntos e fazer a operação correta. Quando você encontra o par, "
+"ambas as cartas desaparecem. Quando todas desaparecerem, você encontrou "
+"todas as operações e ganhou o jogo!"
#: ../boards/memory_add_minus_mult_div.xml.in.h:1
#: ../boards/memory_add_minus_mult_div_tux.xml.in.h:1
@@ -3030,8 +3055,8 @@ msgid ""
"Practise addition, subtraction, multiplication, division, until all the "
"cards are gone."
msgstr ""
-"Pratique adições, subtrações, multiplações e divisões até que todas as cartas "
-"sejam removidas."
+"Pratique adições, subtrações, multiplações e divisões até que todas as "
+"cartas sejam removidas."
#: ../boards/memory_add_minus_mult_div.xml.in.h:4
#: ../boards/memory_add_minus_mult_div_tux.xml.in.h:4
@@ -3047,7 +3072,7 @@ msgstr ""
"acabarem."
#: ../boards/memory_add_minus_mult_div_tux.xml.in.h:2
-msgid "All operations memory game against Tux"
+msgid "All operationsz memory game against Tux"
msgstr "Jogo da memória com todas as operações, contra o Tux"
#: ../boards/memory_add_minus_tux.xml.in.h:1
@@ -3133,21 +3158,21 @@ msgstr ""
"se encontra do outro lado. Assim 3 (1,2,3) menos 1 (1) produzem 2. Conte "
"alto e usando os seus dedos quando estiver trabalhando nisso, porque quanto "
"mais maneiras diferentes você usar para fazer alguma coisa, melhor você se "
-"lembrará dela. Você também pode usar blocos ou botões ou qualquer coisa "
-"que possa contar. Se você tiver vários irmãos e irmãs você pode contar até "
-"eles! Ou os seus colegas de turma. Cante canções de contagem. Conte várias "
-"coisas, para praticar e você ficara muito bom em adições!\n"
+"lembrará dela. Você também pode usar blocos ou botões ou qualquer coisa que "
+"possa contar. Se você tiver vários irmãos e irmãs você pode contar até eles! "
+"Ou os seus colegas de turma. Cante canções de contagem. Conte várias coisas, "
+"para praticar e você ficara muito bom em adições!\n"
"\n"
"Nesse jogo, as cartas estão escondendo as duas partes da subtração: uma "
"carta possui a operação (por exemplo 3+1) e a outra o resultado (por "
"exemplo, 2). Você precisa encontrar essas duas partes. Clique em uma carta "
"para ver o que ela esconde e, então, tente encontrar a carta que a "
-"complementa. Você só pode virar duas cartas de cada vez, então você "
-"deverá lembrar onde a operação/resultado está, enquanto você procura pelo "
-"seu par. Você estará fazendo o papel dos sinais de igual e os números "
-"precisam de você para colocá-los juntos e fazer a subtração correta. Quando "
-"você encontra o par, ambas as cartas desaparecem. Quando todas "
-"desaparecerem, você encontrou todas as subtrações e ganhou o jogo!"
+"complementa. Você só pode virar duas cartas de cada vez, então você deverá "
+"lembrar onde a operação/resultado está, enquanto você procura pelo seu par. "
+"Você estará fazendo o papel dos sinais de igual e os números precisam de "
+"você para colocá-los juntos e fazer a subtração correta. Quando você "
+"encontra o par, ambas as cartas desaparecem. Quando todas desaparecerem, "
+"você encontrou todas as subtrações e ganhou o jogo!"
#: ../boards/memory_minus_tux.xml.in.h:3
msgid "Subtraction memory game against Tux"
@@ -3170,8 +3195,8 @@ msgid ""
"Turn the cards over to find two numbers which multiply the same, until all "
"the cards are gone."
msgstr ""
-"Vire as cartas e encontre a multiplicação e o seu resultado até todas as cartas "
-"acabarem."
+"Vire as cartas e encontre a multiplicação e o seu resultado até todas as "
+"cartas acabarem."
#: ../boards/memory_mult_div.xml.in.h:1
msgid "Multiplication and division memory game"
@@ -3220,11 +3245,11 @@ msgid ""
"need to remember where a sound is, while you listen to its twin. When you "
"turn over the twins, they both disappear."
msgstr ""
-"Um grupo de Tux violinistas é mostrado. Cada Tux possui um som associado "
-"e cada som possui uma duplicata. Clique no Tux para ouvir o seu som e tente "
+"Um grupo de Tux violinistas é mostrado. Cada Tux possui um som associado e "
+"cada som possui uma duplicata. Clique no Tux para ouvir o seu som e tente "
"encontrar os pares. Você só pode ativar dois Tux de cada vez, por isso você "
-"deve se lembrar onde o som está, enquanto você procura pelo par. Quando "
-"você clica nos dois Tux com o mesmo som, ambos desaparecem."
+"deve se lembrar onde o som está, enquanto você procura pelo par. Quando você "
+"clica nos dois Tux com o mesmo som, ambos desaparecem."
#: ../boards/memory_sound.xml.in.h:2
msgid "Audio memory game"
@@ -3268,12 +3293,12 @@ msgid ""
"You take turns with Tux, and to win the game, you have to find more pairs of "
"twins than he does."
msgstr ""
-"Você pode ver um conjunto de cartas, todas iguais. Cada carta possui uma figura "
-"do outro lado e cada figura possui um par em alguma outra carta. Você pode "
-"virar somente duas cartas de cada vez, por isso precisa lembrar onde estão as "
-"figuras até que encontre os pares. Quando você vira os pares, eles desaparecem. "
-"Você alterna turnos com o Tux e para ganhar o jogo você deve encontrar mais "
-"pares do que ele."
+"Você pode ver um conjunto de cartas, todas iguais. Cada carta possui uma "
+"figura do outro lado e cada figura possui um par em alguma outra carta. Você "
+"pode virar somente duas cartas de cada vez, por isso precisa lembrar onde "
+"estão as figuras até que encontre os pares. Quando você vira os pares, eles "
+"desaparecem. Você alterna turnos com o Tux e para ganhar o jogo você deve "
+"encontrar mais pares do que ele."
#: ../boards/menu.xml.in.h:1
msgid ""
@@ -3294,14 +3319,14 @@ msgid ""
" 1, 2 or 3 simple stars - from 2 to 6 years old\n"
" 1, 2 or 3 complex stars - 7 years and up"
msgstr ""
-"Um simples clique em um ícone leva você para uma atividade ou um "
-"menu de atividades.\n"
+"Um simples clique em um ícone leva você para uma atividade ou um menu de "
+"atividades.\n"
"Na parte inferior da janela está a barra de controles do GCompris.\n"
"Os seguintes ícones são mostrados, da direita para esquerda\n"
-"(note que cada ícone é mostrado somente se estiver disponível na "
-"atividade atual):\n"
-" Casa - volta ao menu anterior ou sai do GCompris, caso esteja no "
-"menu principal\n"
+"(note que cada ícone é mostrado somente se estiver disponível na atividade "
+"atual):\n"
+" Casa - volta ao menu anterior ou sai do GCompris, caso esteja no menu "
+"principal\n"
" Polegar - confirma sua resposta\n"
" Dado - mostra o nível atual; clique para selecionar outro nível\n"
" Boca - repete a questão\n"
@@ -3518,8 +3543,8 @@ msgid ""
"want to remove a coin or note, click on it on the upper screen area."
msgstr ""
"Clique nas moedas ou no dinheiro de papel na parte inferior da tela para "
-"pagar. Se você quiser remover uma moeda ou uma nota, clique neles na "
-"parte superior da tela."
+"pagar. Se você quiser remover uma moeda ou uma nota, clique neles na parte "
+"superior da tela."
#: ../boards/money.xml.in.h:3 ../boards/money_cents.xml.in.h:3
msgid "Money"
@@ -3535,8 +3560,8 @@ msgid ""
"several items are displayed, and you must first calculate the total price."
msgstr ""
"Você deve comprar os diferentes itens e dar o preço exato. Nos níveis "
-"superiores, diversos itens são exibidos e você deve, primeiro, calcular "
-"o preço total."
+"superiores, diversos itens são exibidos e você deve, primeiro, calcular o "
+"preço total."
#: ../boards/money_cents.xml.in.h:4
msgid "Practice money usage including cents"
@@ -3643,8 +3668,8 @@ msgid ""
"Hit any key or click on the plane to make Tux jump. Hit another key or click "
"on Tux to open the parachute."
msgstr ""
-"Aperte qualquer tecla ou clique no avião para fazer o Tux pular. Aperte outra "
-"tecla ou clique no Tux para abrir o pára-quedas."
+"Aperte qualquer tecla ou clique no avião para fazer o Tux pular. Aperte "
+"outra tecla ou clique no Tux para abrir o pára-quedas."
#: ../boards/paratrooper.xml.in.h:3
msgid ""
@@ -3670,8 +3695,8 @@ msgid ""
"Catch the numbers in increasing order, using the up, down, right and left "
"arrows on the keyboard to move the helicopter."
msgstr ""
-"Capture os números em ordem crescente, usando as teclas de seta para "
-"para mover o helicóptero."
+"Capture os números em ordem crescente, usando as teclas de seta para para "
+"mover o helicóptero."
#: ../boards/planegame.xml.in.h:2
msgid "Move the helicopter to catch the clouds in the correct order"
@@ -3724,10 +3749,10 @@ msgid ""
"appropriate carriages and locomotive. Deselect an item by clicking on it "
"again. Check your construction by clicking on the hand at the bottom."
msgstr ""
-"Um trem - uma locomotiva e vagão(ões) - são exibidos no topo da área principal "
-"por alguns segundos. Reconstrua-o no topo da tela selecionando a locomotiva "
-"e os vagões apropriados. Elimine um item clicando sobre ele novamente. "
-"Verifique sua construção clicando na mão da parte inferior."
+"Um trem - uma locomotiva e vagão(ões) - são exibidos no topo da área "
+"principal por alguns segundos. Reconstrua-o no topo da tela selecionando a "
+"locomotiva e os vagões apropriados. Elimine um item clicando sobre ele "
+"novamente. Verifique sua construção clicando na mão da parte inferior."
#: ../boards/railroad.xml.in.h:3
msgid "Memory-training"
@@ -3811,8 +3836,8 @@ msgid ""
"and disappear on the left. Does the given word belong to the list?"
msgstr ""
"Uma palavra é mostrada no quadro acima e à direita. Várias palavras irão "
-"aparecer e desaparecer à esquerda. A palavra mostrada à direita estava "
-"entre elas?"
+"aparecer e desaparecer à esquerda. A palavra mostrada à direita estava entre "
+"elas?"
#: ../boards/readingh.xml.in.h:2
msgid "Horizontal reading practice"
@@ -3829,8 +3854,8 @@ msgstr "Treinamento de leitura em um tempo limitado."
#: ../boards/readingv.xml.in.h:2
msgid "Read a vertical list of words and work out if a given word is in it"
msgstr ""
-"Leia uma série de palavras na vertical e diga se uma determinada palavra está "
-"entre elas."
+"Leia uma série de palavras na vertical e diga se uma determinada palavra "
+"está entre elas."
#: ../boards/readingv.xml.in.h:3
msgid "Read training in a limited time"
@@ -3865,7 +3890,9 @@ msgstr "Redesenhe o item mostrado"
msgid ""
"Copy the mirror image of an object from the box on the right into the box on "
"the left."
-msgstr "Copie a imagem espelhada de um objeto da caixa à direita para a caixa à esquerda."
+msgstr ""
+"Copie a imagem espelhada de um objeto da caixa à direita para a caixa à "
+"esquerda."
#: ../boards/redraw_symmetrical.xml.in.h:2
msgid ""
@@ -3890,8 +3917,8 @@ msgid ""
"Can move the mouse, can read numbers and subtract numbers up to 10 for the "
"first level"
msgstr ""
-"Ser capaz de mover o mouse, ser capaz de ler números e subtrair números "
-"até 10 para o primeiro nível."
+"Ser capaz de mover o mouse, ser capaz de ler números e subtrair números até "
+"10 para o primeiro nível."
#: ../boards/reversecount.xml.in.h:2
msgid ""
@@ -3910,8 +3937,8 @@ msgstr "Praticar subtração em um jogo divertido"
#: ../boards/reversecount.xml.in.h:4
msgid "Tux is hungry. Help him find fish by counting to the correct ice spot."
msgstr ""
-"Tux está com fome. Ajude-o a encontrar os peixes contando corretamente "
-"os blocos de gelos até o local correto."
+"Tux está com fome. Ajude-o a encontrar os peixes contando corretamente os "
+"blocos de gelos até o local correto."
#: ../boards/scales/board1_0.xml.in.h:1 ../boards/scales/board1_1.xml.in.h:1
#: ../boards/scales/board1_2.xml.in.h:1 ../boards/scales/board1_3.xml.in.h:1
@@ -3940,17 +3967,17 @@ msgid ""
"moreau@free.fr) in 2001. Its name is 'Spices Seller in Egypt'. It is "
"released under the GPL licence."
msgstr ""
-"A pintura foi originalmente produzida por Virginie MOREAU (virginie.moreau@free.fr) "
-"em 2001. Seu nome é 'Vendedor de Especiarias no Egito'. Ela foi liberada sob a "
-"licença GPL."
+"A pintura foi originalmente produzida por Virginie MOREAU (virginie."
+"moreau@free.fr) em 2001. Seu nome é 'Vendedor de Especiarias no Egito'. Ela "
+"foi liberada sob a licença GPL."
#: ../boards/scalesboard.xml.in.h:5
msgid ""
"To balance the scales, move the masses on the left side. The masses can be "
"arranged in any order."
msgstr ""
-"Para equilibrar a balança, movimente os pesos à esquerda. Os pesos podem "
-"ser colocados em qualquer ordem."
+"Para equilibrar a balança, movimente os pesos à esquerda. Os pesos podem ser "
+"colocados em qualquer ordem."
#: ../boards/searace.xml.in.h:1
msgid "Direct your boat accurately to win the race."
@@ -3971,18 +3998,18 @@ msgid ""
"anywhere on the map to get a measurement in distance and angle. Going to the "
"next level will give you more complex weather conditions."
msgstr ""
-"No campo de texto, digite um comando por linha, para controlar seu barco. "
-"Os comandos suportados são mostrados entre as duas áreas de entrada. Os "
+"No campo de texto, digite um comando por linha, para controlar seu barco. Os "
+"comandos suportados são mostrados entre as duas áreas de entrada. Os "
"comandos 'esquerda' e 'direita' devem ser seguidos por um ângulo, em graus. "
-"O valor do ângulo é o chamado 'parâmetro' dos comandos 'esquerda' e 'direita'. "
-"O ângulo padrão utilizado é 45 graus. O comando 'avançar' aceita um parâmetro "
-"de distância. A distância padrão utilizada é 1. Por exemplo: esquerda 90 => gira "
-"perpendicularmente á esquerda; avançar 10 => avança 10 unidades (como "
-"mostradas na régua). O objetivo é chegar ao lado esquerdo da tela (na linha "
-"vermelha). Quando terminar, você pode tentar aprimorar o seu programa e "
-"começar uma nova corrida com as mesmas condições de tempo, usando o "
-"botão de repetição. Você pode clicar e arrastar o mouse em qualquer lugar da "
-"tela para obte uma medida de distância e ângulo. Os níveis mais elevados "
+"O valor do ângulo é o chamado 'parâmetro' dos comandos 'esquerda' e "
+"'direita'. O ângulo padrão utilizado é 45 graus. O comando 'avançar' aceita "
+"um parâmetro de distância. A distância padrão utilizada é 1. Por exemplo: "
+"esquerda 90 => gira perpendicularmente á esquerda; avançar 10 => avança 10 "
+"unidades (como mostradas na régua). O objetivo é chegar ao lado esquerdo da "
+"tela (na linha vermelha). Quando terminar, você pode tentar aprimorar o seu "
+"programa e começar uma nova corrida com as mesmas condições de tempo, usando "
+"o botão de repetição. Você pode clicar e arrastar o mouse em qualquer lugar "
+"da tela para obte uma medida de distância e ângulo. Os níveis mais elevados "
"apresentam condições de tempo mais complexas."
#: ../boards/searace.xml.in.h:3 ../boards/searace1player.xml.in.h:3
@@ -3994,8 +4021,8 @@ msgid ""
msgstr ""
"Nessa atividade você irá aprender como passar comandos para o computador. "
"Mesmo com uma linguagem bastante simples, você aprende como planejar e "
-"construir um programa. Essa atividade pode ser usada para introduzir o conceito "
-"de programação para crianças."
+"construir um programa. Essa atividade pode ser usada para introduzir o "
+"conceito de programação para crianças."
#: ../boards/searace.xml.in.h:4
msgid "Sea race (2 Players)"
@@ -4054,8 +4081,8 @@ msgid ""
"Click on different active elements : engine, rudders and air tanks, in order "
"to navigate to the required depth."
msgstr ""
-"Clique nos diferentes elementos ativos: motor, leme, e tanques de ar, a fim de"
-"navegar até a profundidade solicitada."
+"Clique nos diferentes elementos ativos: motor, leme, e tanques de ar, a fim "
+"denavegar até a profundidade solicitada."
#: ../boards/submarine.xml.in.h:2
msgid "Learn how a submarine works"
@@ -4086,8 +4113,8 @@ msgid ""
msgstr ""
"No primeiro nível, com níveis coloridos, arraste os símbolos à esquerda para "
"a sua posição de destino. Nos níveis mais altos, clique em um quadrado vazio "
-"para focalizá-lo. Então digite o suposto número para aquela posição. O GCompris "
-"não deixa você digitar um valor inválido."
+"para focalizá-lo. Então digite o suposto número para aquela posição. O "
+"GCompris não deixa você digitar um valor inválido."
#: ../boards/sudoku.xml.in.h:3
msgid "Sudoku, place unique symbols in a square."
@@ -4108,12 +4135,12 @@ msgid ""
"instance of each symbol or numeral (Source &lt;http://en.wikipedia.org/wiki/"
"Sudoku&gt;)."
msgstr ""
-"O objetivo do quebra-cabeça é colocar um símbolo ou um número de 1 a 9 "
-"em cada célula de uma grade. Normalmente é uma grade de 9x9, feita de "
-"sub-grades de 3x3 (chamadas 'regiões'), que já começa com alguns símbolos "
-"ou números em determinadas células. Cada linha, coluna ou região deve conter "
-"apenas um exemplar de cada símbolo ou número (Fonte: "
-"&lt;http://en.wikipedia.org/wiki/Sudoku&gt;)."
+"O objetivo do quebra-cabeça é colocar um símbolo ou um número de 1 a 9 em "
+"cada célula de uma grade. Normalmente é uma grade de 9x9, feita de sub-"
+"grades de 3x3 (chamadas 'regiões'), que já começa com alguns símbolos ou "
+"números em determinadas células. Cada linha, coluna ou região deve conter "
+"apenas um exemplar de cada símbolo ou número (Fonte: &lt;http://en.wikipedia."
+"org/wiki/Sudoku&gt;)."
#: ../boards/superbrain.xml.in.h:1
msgid ""
@@ -4123,10 +4150,10 @@ msgid ""
"a black box. You can use the right mouse button to flip the colors in the "
"opposite order."
msgstr ""
-"Clique sobre os itens até encontrar qual é a (provável) resposta correta. Clique, "
-"então, no botão OK da barra de controle. Nos níveis mais baixos, o Tux indica "
-"a cor correta na posição correta marcando-a com uma caixa preta. Você pode "
-"usar o botão direito do mouse para mudar as cores na ordem inversa."
+"Clique sobre os itens até encontrar qual é a (provável) resposta correta. "
+"Clique, então, no botão OK da barra de controle. Nos níveis mais baixos, o "
+"Tux indica a cor correta na posição correta marcando-a com uma caixa preta. "
+"Você pode usar o botão direito do mouse para mudar as cores na ordem inversa."
#: ../boards/superbrain.xml.in.h:2 ../src/boards/superbrain.c:106
msgid "Super Brain"
@@ -4152,8 +4179,8 @@ msgid ""
msgstr ""
"Baseado na Wikipédia, a enciclopédia livre. Tangram (Chinês: literalmente "
"\"sete tábuas da sabedoria\") é um quebra-cabeça chinês. Apesar de ser "
-"considerado bastante antigo, sua existência só foi verificada a partir de 1800. "
-"Ele consiste-se de 7 peças, chamadas 'tans', que se encaixam, formando "
+"considerado bastante antigo, sua existência só foi verificada a partir de "
+"1800. Ele consiste-se de 7 peças, chamadas 'tans', que se encaixam, formando "
"um quadrado:\n"
"\t* 5 triângulos isósceles\n"
"\t\to 2 pequenos (lados de 1)\n"
@@ -4162,8 +4189,8 @@ msgstr ""
"\t* 1 quadrado (lados of 1)\n"
"\t* 1 paralelogramo (lados de 1 de raiz quadrada de 2)"
-#: ../boards/tangram.xml.in.h:9
# Necessida atualização do manual original
+#: ../boards/tangram.xml.in.h:9
msgid ""
"Select the tangram to form. Move a piece by dragging it. Right-click on it "
"to create a symmetrical item. Select an item and drag around it to show the "
@@ -4172,9 +4199,9 @@ msgid ""
"the shape will be drawn."
msgstr ""
"Selecione o tangram a ser montado. Movimente as peças arrastando-as. Clique "
-"com o botão direito para invertê-las. Selecione um item, clique fora dele e gire o "
-"mouse para rotacioná-lo. Se você precisar de ajuda, clique no botão com desenho "
-"dos contornos e a forma do tangram será desenhada na tela."
+"com o botão direito para invertê-las. Selecione um item, clique fora dele e "
+"gire o mouse para rotacioná-lo. Se você precisar de ajuda, clique no botão "
+"com desenho dos contornos e a forma do tangram será desenhada na tela."
#: ../boards/tangram.xml.in.h:10
msgid "The objective is to form a given shape with seven pieces"
@@ -4185,8 +4212,8 @@ msgid ""
"The original code was written by Philippe Banwarth in 1999. It was ported to "
"GCompris by Yves Combe in 2005."
msgstr ""
-"O código original foi escrito por Philippe Banwarth em 1999. Ele foi adaptado "
-"para o GCompris por Yves Combe em 2005."
+"O código original foi escrito por Philippe Banwarth em 1999. Ele foi "
+"adaptado para o GCompris por Yves Combe em 2005."
#: ../boards/tangram.xml.in.h:12
msgid "The tangram puzzle game"
@@ -4195,8 +4222,8 @@ msgstr "O quebra-cabeça Tangram"
#: ../boards/target.xml.in.h:1
msgid "Can move the mouse, can read numbers and count up to 15 for the first level"
msgstr ""
-"Capacidade de movimentar o mouse, de ler números e de contar acima de "
-"15, para o primeiro nível."
+"Capacidade de movimentar o mouse, de ler números e de contar acima de 15, "
+"para o primeiro nível."
#: ../boards/target.xml.in.h:2
msgid ""
@@ -4207,8 +4234,8 @@ msgid ""
msgstr ""
"Verifique a velocidade e direção do vento e, então, clique no alvo para "
"lançar o dardo. Quando você tiver lançado todas os seus dardos, uma janela "
-"aparecerá perguntando-lhe qual sua pontuação. Informe a soma dos pontos "
-"com o teclado e então pressione a tecla Enter ou o botão OK."
+"aparecerá perguntando-lhe qual sua pontuação. Informe a soma dos pontos com "
+"o teclado e então pressione a tecla Enter ou o botão OK."
#: ../boards/target.xml.in.h:3
msgid "Hit the target and count your points"
@@ -4252,7 +4279,9 @@ msgstr "Tuxpaint"
#: ../boards/tuxpaint.xml.in.h:4
msgid "Use Tuxpaint to draw. When Tuxpaint is finished this board will end."
-msgstr "Use o TuxPaint para desenhar. Ao sair do TuxPaint essa atividade será finalizada."
+msgstr ""
+"Use o TuxPaint para desenhar. Ao sair do TuxPaint essa atividade será "
+"finalizada."
#: ../boards/tuxpaint.xml.in.h:5
msgid "mouse and keyboard manipulation"
@@ -4266,9 +4295,9 @@ msgid ""
"him."
msgstr ""
"Clique em diferentes elementos ativos: sol, nuvem, estação de bombeamento de "
-"água e estação de tratamento de esgoto, de forma a reativar todo o sistema de "
-"água. Quando o sistema voltar e o Tux estiver no chuveiro, aperte o botão do "
-"chuveiro para ele."
+"água e estação de tratamento de esgoto, de forma a reativar todo o sistema "
+"de água. Quando o sistema voltar e o Tux estiver no chuveiro, aperte o botão "
+"do chuveiro para ele."
#: ../boards/watercycle.xml.in.h:2
msgid "Learn about the water cycle"
@@ -4283,8 +4312,8 @@ msgid ""
"Tux has come back from a long fishing party on his boat. Bring the water "
"system back up so he can take a shower."
msgstr ""
-"Tux voltou de uma longa pescaria em seu barco. Faça o sistema de água "
-"voltar a funcionar para que ele possa tomar um banho."
+"Tux voltou de uma longa pescaria em seu barco. Faça o sistema de água voltar "
+"a funcionar para que ele possa tomar um banho."
#: ../boards/wordsgame.xml.in.h:1 ../src/boards/wordsgame.c:110
msgid "Falling Words"
@@ -4343,6 +4372,8 @@ msgid "Error: The external program gnuchess died unexpectedly"
msgstr "Erro: O programa externo gnuchess encerrou inesperadamente."
#: ../src/boards/chess.c:194
+# mudança do original, uma vez que se a distribuição em uso não for
+# baseada em RPM, o RPMFind não será muito útil
msgid ""
"Error: The external program gnuchess is required\n"
"to play chess in gcompris.\n"
@@ -4446,7 +4477,7 @@ msgstr ""
msgid "Uppercase only text"
msgstr "Somente texto em maiúsculas."
-#: ../src/boards/clockgame.c:544 ../src/boards/clockgame.c:554
+#: ../src/boards/clockgame.c:552 ../src/boards/clockgame.c:562
msgid "Set the watch to:"
msgstr "Acerte o relógio para:"
@@ -4537,8 +4568,8 @@ msgid ""
"Look at your position, then switch back to invisible mode to continue your "
"moves"
msgstr ""
-"Observe a sua posição e, então, volte para o modo invisível para continuar "
-"a se movimentar."
+"Observe a sua posição e, então, volte para o modo invisível para continuar a "
+"se movimentar."
#: ../src/boards/maze.c:494
msgid "Look at your position, then switch back to 3D mode to continue your moves"
@@ -4903,7 +4934,9 @@ msgstr "Data de nascimento:"
#: ../src/boards/python/admin/user_edit.py:159
msgid "You need to provide at least a login, first name and last name for your users"
-msgstr "Você precisa fornecer ao menos o login, o primeiro nome e o sobrenome para o seu usuário."
+msgstr ""
+"Você precisa fornecer ao menos o login, o primeiro nome e o sobrenome para o "
+"seu usuário."
#: ../src/boards/python/admin/user_edit.py:176
msgid "There is already a user with this login"
@@ -4916,7 +4949,8 @@ msgid ""
"login;First name;Last name;Date of birth\n"
"The separator is autodetected and can be one of ',', ';' or ':'"
msgstr ""
-"Para importar uma lista de usuários de um arquivo, primeiro selecione a turma.\n"
+"Para importar uma lista de usuários de um arquivo, primeiro selecione a "
+"turma.\n"
"FORMATO DO ARQUIVO: O seu arquivo deve ter o seguinte formato:\n"
"login;primeiro nome;sobrenome;data de nascimento\n"
"O separador é auto-detectável e pode ser ',', ';' ou ':'."
@@ -5146,15 +5180,21 @@ msgstr ""
#: ../src/boards/python/oscar_and_friends.py:117
msgid "They were all happy that the storms never reached all the way down to them."
-msgstr "Eles estavam felizes em saber que as tempestades nunca os alcançaria lá embaixo."
+msgstr ""
+"Eles estavam felizes em saber que as tempestades nunca os alcançaria lá "
+"embaixo."
#: ../src/boards/python/oscar_and_friends.py:118
msgid "No matter how bad it was up there, the bottom was always calm and quiet."
-msgstr "Independente do quão ruim estava lá em cima, no fundo era sempre calmo e quieto."
+msgstr ""
+"Independente do quão ruim estava lá em cima, no fundo era sempre calmo e "
+"quieto."
#: ../src/boards/python/oscar_and_friends.py:119
msgid "Oscar's best friends were Charlie the crab and Sandy the sea-star."
-msgstr "Os melhores amigos de Oscar são Charlie, o caranguejo, e Sandy, a estrela do mar."
+msgstr ""
+"Os melhores amigos de Oscar são Charlie, o caranguejo, e Sandy, a estrela do "
+"mar."
#: ../src/boards/python/pythontest.py:148
msgid ""
@@ -5415,8 +5455,8 @@ msgstr ""
#: ../src/gcompris/about.c:65
msgid "translator_credits"
msgstr ""
-"Frederico Gonçalves Guimarães <frederico@gcompris.teia.bio.br>"
-"Welther José O. Esteves <weltherjoe@yahoo.com.br>\n"
+"Frederico Gonçalves Guimarães <frederico@gcompris.teia.bio.br>Welther José "
+"O. Esteves <weltherjoe@yahoo.com.br>\n"
"Rodrigo Lima <rdlima@terra.com.br>\n"
"Viviani Ap. dos Santos <vivi_olivetti@brfree.com.br>"
@@ -5443,7 +5483,7 @@ msgid ""
msgstr "Este software é um Pacote GNU e é liberado sob a GNU General Public License."
#: ../src/gcompris/about.c:334 ../src/gcompris/about.c:344
-#: ../src/gcompris/config.c:464 ../src/gcompris/config.c:474
+#: ../src/gcompris/config.c:465 ../src/gcompris/config.c:475
#: ../src/gcompris/dialog.c:97 ../src/gcompris/help.c:376
#: ../src/gcompris/help.c:386 ../src/gcompris/images_selector.c:317
msgid "OK"
@@ -5467,7 +5507,9 @@ msgstr "Não, prefiro continuar aqui."
#: ../src/gcompris/board.c:181
msgid "Dynamic module loading is not supported. gcompris cannot load.\n"
-msgstr "O carregamento dinâmico de módulos não é suportado. O GCompris não pode abrir.\n"
+msgstr ""
+"O carregamento dinâmico de módulos não é suportado. O GCompris não pode "
+"abrir.\n"
#: ../src/gcompris/board_config.c:700
msgid ""
@@ -5642,67 +5684,71 @@ msgid "Slovenian"
msgstr "Esloveno"
#: ../src/gcompris/config.c:101
+msgid "Somali"
+msgstr "Somálio"
+
+#: ../src/gcompris/config.c:102
msgid "Albanian"
msgstr "Albanês"
-#: ../src/gcompris/config.c:102
+#: ../src/gcompris/config.c:103
msgid "Serbian (Latin)"
msgstr "Sérvio (latino)"
-#: ../src/gcompris/config.c:103
+#: ../src/gcompris/config.c:104
msgid "Serbian"
msgstr "Sérvio"
-#: ../src/gcompris/config.c:104
+#: ../src/gcompris/config.c:105
msgid "Swedish"
msgstr "Sueco"
#. "ta_IN.UTF-8", N_("Tamil"),
-#: ../src/gcompris/config.c:106
+#: ../src/gcompris/config.c:107
msgid "Thai"
msgstr "Tailandês"
-#: ../src/gcompris/config.c:107
+#: ../src/gcompris/config.c:108
msgid "Turkish"
msgstr "Turco"
-#: ../src/gcompris/config.c:108
+#: ../src/gcompris/config.c:109
msgid "Vietnamese"
msgstr "Vietnamita"
-#: ../src/gcompris/config.c:109
+#: ../src/gcompris/config.c:110
msgid "Walloon"
msgstr "Valão"
-#: ../src/gcompris/config.c:110
+#: ../src/gcompris/config.c:111
msgid "Chinese (Simplified)"
msgstr "Chinês (simplificado)"
-#: ../src/gcompris/config.c:111
+#: ../src/gcompris/config.c:112
msgid "Chinese (Traditional)"
msgstr "Chinês (tradicional)"
-#: ../src/gcompris/config.c:116
+#: ../src/gcompris/config.c:117
msgid "No time limit"
msgstr "Sem limite de tempo"
-#: ../src/gcompris/config.c:117
+#: ../src/gcompris/config.c:118
msgid "Slow timer"
msgstr "Tempo mais lento"
-#: ../src/gcompris/config.c:118
+#: ../src/gcompris/config.c:119
msgid "Normal timer"
msgstr "Tempo normal"
-#: ../src/gcompris/config.c:119
+#: ../src/gcompris/config.c:120
msgid "Fast timer"
msgstr "Tempo mais rápido"
-#: ../src/gcompris/config.c:124
+#: ../src/gcompris/config.c:125
msgid "800x600 (Default for gcompris)"
msgstr "800x600 (Padrão para o GCompris)"
-#: ../src/gcompris/config.c:129
+#: ../src/gcompris/config.c:130
msgid ""
"<i>Use Gcompris administration module\n"
"to filter boards</i>"
@@ -5710,38 +5756,38 @@ msgstr ""
"<i>Use o módulo de administração do GCompris\n"
"para filtrar as atividades</i>"
-#: ../src/gcompris/config.c:184 ../src/gcompris/config.c:194
+#: ../src/gcompris/config.c:185 ../src/gcompris/config.c:195
msgid "GCompris Configuration"
msgstr "Configuração do GCompris"
-#: ../src/gcompris/config.c:270
+#: ../src/gcompris/config.c:271
msgid "Fullscreen"
msgstr "Tela inteira"
-#: ../src/gcompris/config.c:313
+#: ../src/gcompris/config.c:314
msgid "Music"
msgstr "Música"
-#: ../src/gcompris/config.c:341
+#: ../src/gcompris/config.c:342
msgid "Effect"
msgstr "Efeito"
-#: ../src/gcompris/config.c:377
+#: ../src/gcompris/config.c:378
#, c-format
msgid "Couldn't open skin dir: %s"
msgstr "Não foi possível abrir o diretório de temas: %s"
-#: ../src/gcompris/config.c:408 ../src/gcompris/config.c:842
-#: ../src/gcompris/config.c:856
+#: ../src/gcompris/config.c:409 ../src/gcompris/config.c:864
+#: ../src/gcompris/config.c:878
#, c-format
msgid "Skin : %s"
msgstr "Tema: %s"
-#: ../src/gcompris/config.c:410
+#: ../src/gcompris/config.c:411
msgid "SKINS NOT FOUND"
msgstr "OS TEMAS NÃO FORAM ENCONTRADOS"
-#: ../src/gcompris/config.c:535
+#: ../src/gcompris/config.c:536
msgid "English (United State)"
msgstr "Inglês (Estados Unidos)"
@@ -5773,89 +5819,89 @@ msgstr ""
"Saia dela e informe\n"
"o problema aos autores."
-#: ../src/gcompris/gcompris.c:136
+#: ../src/gcompris/gcompris.c:123
msgid "run gcompris in fullscreen mode."
msgstr "executa o gcompris em tela cheia."
-#: ../src/gcompris/gcompris.c:139
+#: ../src/gcompris/gcompris.c:126
msgid "run gcompris in window mode."
msgstr "executa o gcompris em uma janela."
-#: ../src/gcompris/gcompris.c:142
+#: ../src/gcompris/gcompris.c:129
msgid "run gcompris with sound enabled."
msgstr "executa o gcompris com o som habilitado."
-#: ../src/gcompris/gcompris.c:145
+#: ../src/gcompris/gcompris.c:132
msgid "run gcompris without sound."
msgstr "executa o gcompris sem som."
-#: ../src/gcompris/gcompris.c:148
+#: ../src/gcompris/gcompris.c:135
msgid "run gcompris with the default gnome cursor."
msgstr "executa o gcompris com o cursor padrão do gnome."
-#: ../src/gcompris/gcompris.c:151
+#: ../src/gcompris/gcompris.c:138
msgid "display only activities with this difficulty level."
msgstr "exibe atividades somente com este nível da dificuldade."
-#: ../src/gcompris/gcompris.c:154
+#: ../src/gcompris/gcompris.c:141
msgid "display debug informations on the console."
msgstr "exibe informações de depuração no console."
-#: ../src/gcompris/gcompris.c:157
+#: ../src/gcompris/gcompris.c:144
msgid "Print the version of "
msgstr "imprime a versão do "
-#: ../src/gcompris/gcompris.c:160
+#: ../src/gcompris/gcompris.c:147
msgid "Use the antialiased canvas (slower)."
msgstr "usa o recurso de antialias na tela (mais lento)."
-#: ../src/gcompris/gcompris.c:163
+#: ../src/gcompris/gcompris.c:150
msgid "Disable XF86VidMode (No screen resolution change)."
msgstr "desabilita o XF86VidMode (sem mudança da resolução da tela)."
-#: ../src/gcompris/gcompris.c:166
+#: ../src/gcompris/gcompris.c:153
msgid ""
"Run gcompris with local menu (e.g -l /reading will let you play only "
"activities in the reading directory, -l /strategy/connect4 only the connect4 "
"activity)"
msgstr ""
"abre o gcompris com o menu/aplicação indicado (ex. '-l /reading' permite "
-"jogar somente as atividades do diretório de leitura, '-l /strategy/connect4', "
-"apenas a atividade Ligue 4)."
+"jogar somente as atividades do diretório de leitura, '-l /strategy/"
+"connect4', apenas a atividade Ligue 4)."
-#: ../src/gcompris/gcompris.c:169
+#: ../src/gcompris/gcompris.c:156
msgid "Run GCompris with local activity directory added to menu"
msgstr "abre o gcompris com um diretório de atividade local adicionado ao menu."
-#: ../src/gcompris/gcompris.c:172
+#: ../src/gcompris/gcompris.c:159
msgid "Run GCompris in administration and user-management mode"
msgstr "abre o gcompris no modo de administração e gerenciamento de usuários."
-#: ../src/gcompris/gcompris.c:175
+#: ../src/gcompris/gcompris.c:162
msgid "Use alternate database for profiles"
msgstr "usa um banco de dados alternativo para os perfis."
-#: ../src/gcompris/gcompris.c:178
+#: ../src/gcompris/gcompris.c:165
msgid "Use alternate database for logs"
msgstr "usa um banco de dados alternativo para os relatórios."
-#: ../src/gcompris/gcompris.c:181
+#: ../src/gcompris/gcompris.c:168
msgid "Create the alternate database for profiles"
msgstr "cria o banco de dados alternativo para os perfis."
-#: ../src/gcompris/gcompris.c:184
+#: ../src/gcompris/gcompris.c:171
msgid "Re-read XML Menus and store them in the database"
msgstr "relê os menus XML e os armazena no banco de dados."
-#: ../src/gcompris/gcompris.c:187
+#: ../src/gcompris/gcompris.c:174
msgid "Set the profile to use. Use 'gcompris -a' to create profiles"
msgstr "define o perfil a ser usado. Use 'gcompris -a' para criar perfis."
-#: ../src/gcompris/gcompris.c:190
+#: ../src/gcompris/gcompris.c:177
msgid "List all available profiles. Use 'gcompris -a' to create profiles"
msgstr "lista todos os perfis disponíveis. Use 'gcompris -a' para criar perfis."
-#: ../src/gcompris/gcompris.c:193
+#: ../src/gcompris/gcompris.c:180
msgid ""
"Shared directory location, for profiles and board-configuration data: "
"[$HOME/.gcompris/shared]"
@@ -5863,27 +5909,27 @@ msgstr ""
"localização do diretório compartilhado, para perfis e dados de configuração "
"das atividades: [$HOME/.gcompris/shared]."
-#: ../src/gcompris/gcompris.c:196
+#: ../src/gcompris/gcompris.c:183
msgid "The location of user directories: [$HOME/.gcompris/users]"
msgstr "localização dos diretórios de usuário: [$HOME/.gcompris/users]"
-#: ../src/gcompris/gcompris.c:199
+#: ../src/gcompris/gcompris.c:186
msgid "Run the experimental activities"
msgstr "abre as atividades de experimentais."
-#: ../src/gcompris/gcompris.c:202
+#: ../src/gcompris/gcompris.c:189
msgid "Disable the quit button"
msgstr "desabilita o botão 'Sair'."
-#: ../src/gcompris/gcompris.c:205
+#: ../src/gcompris/gcompris.c:192
msgid "Disable the config button"
msgstr "desabilita o botão 'Configurar'."
-#: ../src/gcompris/gcompris.c:208
+#: ../src/gcompris/gcompris.c:195
msgid "Display the resources on stdout based on the selected activities"
msgstr "envia os recursos para stdout, baseado nas atividades selecionadas."
-#: ../src/gcompris/gcompris.c:211
+#: ../src/gcompris/gcompris.c:198
msgid ""
"GCompris will get images, sounds and activity data from this server if not "
"found locally."
@@ -5891,21 +5937,21 @@ msgstr ""
"o gcompris obterá as imagens, sons e dados das atividades a partir desse "
"servidor, caso não as encontre localmente."
-#: ../src/gcompris/gcompris.c:214
+#: ../src/gcompris/gcompris.c:201
msgid ""
"Only when --server is provided, disable check for local resource first. Data "
"are always taken from the web server."
msgstr ""
-"apenas quando --server é fornecido, desabilita a verificação inicial para recursos "
-"locais. Os dados são sempre obtidos do servidor web."
+"apenas quando --server é fornecido, desabilita a verificação inicial para "
+"recursos locais. Os dados são sempre obtidos do servidor web."
-#: ../src/gcompris/gcompris.c:218
+#: ../src/gcompris/gcompris.c:205
msgid "In server mode, specify the cache directory used to avoid useless downloads."
msgstr ""
"no modo servidor, especifica o diretório de cache utilizado, para evitar "
"transferências desnecessárias."
-#: ../src/gcompris/gcompris.c:858
+#: ../src/gcompris/gcompris.c:838
#, c-format
msgid ""
"GCompris is free software released under the GPL License. In order to "
@@ -5922,13 +5968,13 @@ msgstr ""
"ao seu desenvolvimento, a versão Windows oferece somente %d das %d "
"atividades. Você pode obter a versão completa, por uma pequena taxa, em \n"
"<http://gcompris.net>\n"
-"A versão GNU/Linux não possui essa restrição. Note que o GCompris está "
-"sendo desenvolvido para libertar escolas dos vendedores monopolistas de "
-"software. Se você também acredita que nós devemos ensinar liberdade às "
-"crianças, por favor considere o uso do GNU/Linux. Mais informações em\n"
+"A versão GNU/Linux não possui essa restrição. Note que o GCompris está sendo "
+"desenvolvido para libertar escolas dos vendedores monopolistas de software. "
+"Se você também acredita que nós devemos ensinar liberdade às crianças, por "
+"favor considere o uso do GNU/Linux. Mais informações em\n"
"<http://www.fsf.org/philosophy>"
-#: ../src/gcompris/gcompris.c:1412
+#: ../src/gcompris/gcompris.c:1433
#, c-format
msgid ""
"GCompris\n"
@@ -5942,17 +5988,17 @@ msgstr ""
"Maiores informações em http://gcompris.net\n"
#. check the list of possible values for -l, then exit
-#: ../src/gcompris/gcompris.c:1501
+#: ../src/gcompris/gcompris.c:1522
#, c-format
msgid "Use -l to access an activity directly.\n"
msgstr "Use -l para acessar uma atividade diretamente.\n"
-#: ../src/gcompris/gcompris.c:1502
+#: ../src/gcompris/gcompris.c:1523
#, c-format
msgid "The list of available activities is :\n"
msgstr "A lista de atividades disponíveis é:\n"
-#: ../src/gcompris/gcompris.c:1672
+#: ../src/gcompris/gcompris.c:1701
#, c-format
msgid "The list of available profiles is:\n"
msgstr "A lista de perfis disponíveis é:\n"
diff --git a/src/boards/Makefile.am b/src/boards/Makefile.am
index 233e0d2..828be83 100644
--- a/src/boards/Makefile.am
+++ b/src/boards/Makefile.am
@@ -80,6 +80,7 @@ lib_LTLIBRARIES = \
libread_colors.la \
libdraw.la \
libwordprocessor.la \
+ libscale.la \
$(python_plugin)
libdir = $(plugindir)
@@ -274,6 +275,9 @@ libwordprocessor_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $
libwordprocessor_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
libwordprocessor_la_SOURCES = wordprocessor.c
+libscale_la_LDFLAGS = $(shared) $(no_undefined) -module -avoid-version $(gc_libs)
+libscale_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
+libscale_la_SOURCES = scale.c
libpython_la_LDFLAGS = -export-dynamic $(shared) $(no_undefined) -module -avoid-version $(gc_libs) $(PYTHON_LIBS)
libpython_la_LIBADD = $(top_builddir)/src/gcompris/libgcompris-1.la
diff --git a/src/boards/advanced_colors.c b/src/boards/advanced_colors.c
index 1362af8..d1b4e3a 100644
--- a/src/boards/advanced_colors.c
+++ b/src/boards/advanced_colors.c
@@ -384,6 +384,7 @@ static gint item_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data) {
}
}
if (clicked >= 0) {
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
board_paused = TRUE;
highlight_selected(clicked);
gamewon = (clicked == GPOINTER_TO_INT(g_list_nth_data(listColors,0)));
diff --git a/src/boards/algebra_guesscount.c b/src/boards/algebra_guesscount.c
index 722c632..946dd27 100644
--- a/src/boards/algebra_guesscount.c
+++ b/src/boards/algebra_guesscount.c
@@ -586,6 +586,7 @@ static gint item_event_oper(GnomeCanvasItem *item, GdkEvent *event, gpointer dat
switch (event->type) {
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/flip.wav", NULL);
ptr_token_selected[token_count] = t;
tmp_item = gnome_canvas_item_new (boardRootItem,
gnome_canvas_pixbuf_get_type (),
@@ -613,6 +614,7 @@ static gint item_event_oper_moved(GnomeCanvasItem *item, GdkEvent *event, gpoint
// we only allow the undo of an operation if it is the last element displayed
switch (event->type) {
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/flip.wav", NULL);
if (count == token_count) {
gtk_object_destroy (GTK_OBJECT(item));
token_count--;
@@ -633,6 +635,7 @@ static gint item_event_num(GnomeCanvasItem *item, GdkEvent *event, gpointer data
switch (event->type){
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
if (t->isMoved) {
if (item != ptr_token_selected[token_count-1]->item)
return FALSE;
diff --git a/src/boards/canal_lock.c b/src/boards/canal_lock.c
index 9427624..97693e0 100644
--- a/src/boards/canal_lock.c
+++ b/src/boards/canal_lock.c
@@ -38,7 +38,7 @@
#define LOCK_WIDTH 20
#define LOCK_HEIGHT_MAX (RIGHT_CANAL_HEIGHT + 40)
-#define LOCK_HEIGHT_MIN 20
+#define LOCK_HEIGHT_MIN 60
#define SUBCANAL_BASE_LINE (BASE_LINE + 80)
#define SUBCANAL_HEIGHT 40
@@ -494,6 +494,8 @@ static void move_boat()
return;
}
+ gc_sound_play_ogg ("sounds/eraser2.wav", NULL);
+
gnome_canvas_item_get_bounds(tuxboat_item, &timer_item_x1, &timer_item_y1,
&timer_item_x2, &timer_item_y2);
@@ -556,6 +558,8 @@ static void toggle_lock(GnomeCanvasItem *item)
return;
animation = TRUE;
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
+
gnome_canvas_item_get_bounds(item, &timer_item_x1, &timer_item_y1,
&timer_item_x2, &timer_item_y2);
diff --git a/src/boards/clickgame.c b/src/boards/clickgame.c
index 7772878..53a5c7e 100644
--- a/src/boards/clickgame.c
+++ b/src/boards/clickgame.c
@@ -219,7 +219,7 @@ static void
fish_gobble (FishItem *fishitem)
{
clickgame_destroy_item(fishitem);
- gc_sound_play_ogg ("sounds/gobble.ogg", NULL);
+ gc_sound_play_ogg ("sounds/bubble.wav", NULL);
gcomprisBoard->sublevel++;
gc_score_set(gcomprisBoard->sublevel);
@@ -284,7 +284,10 @@ canvas_event(GnomeCanvas *canvas, GdkEvent *event)
if (gnome_canvas_get_item_at (canvas, mouse_x, mouse_y) !=
g_slist_nth_data (fish->cur_frames, fish->currentItem) &&
(dx > 0) ^ (fish->speed < 0))
- fish_reverse_direction (fish);
+ {
+ fish_reverse_direction (fish);
+ gc_sound_play_ogg ("sounds/drip.wav", NULL);
+ }
else
react += 1;
}
@@ -486,12 +489,12 @@ static void clickgame_next_level()
{
static /*const*/ gchar *bglist[] =
{
- "clickgame/nur00523.jpg",
- "clickgame/nur03006.jpg",
- "clickgame/nur03011.jpg",
- "clickgame/nur03010.jpg",
- "clickgame/nur03013.jpg",
- "clickgame/nur03505.jpg"
+ "clickgame/sea1.jpg",
+ "clickgame/sea2.jpg",
+ "clickgame/sea3.jpg",
+ "clickgame/sea4.jpg",
+ "clickgame/sea5.jpg",
+ "clickgame/sea6.jpg"
};
int bgx = gcomprisBoard->level - 1;
@@ -536,6 +539,18 @@ static void clickgame_animate_item(FishItem *fishitem)
currentItem));
}
+static void
+fish_escape (FishItem *fishitem)
+{
+ item2del_list = g_list_append (item2del_list, fishitem);
+ gc_sound_play_ogg ("sounds/youcannot.wav", NULL);
+
+ if (gcomprisBoard->sublevel) {
+ --gcomprisBoard->sublevel;
+ gc_score_set(gcomprisBoard->sublevel);
+ }
+}
+
static void clickgame_move_item(FishItem *fishitem)
{
double sp = fishitem->speed;
@@ -561,17 +576,13 @@ static void clickgame_move_item(FishItem *fishitem)
if(fishitem->speed>0)
{
- if(x1>gcomprisBoard->width) {
- item2del_list = g_list_append (item2del_list, fishitem);
- gc_sound_play_ogg ("crash", NULL);
- }
+ if(x1>gcomprisBoard->width)
+ fish_escape (fishitem);
}
else
{
- if(x2<0) {
- item2del_list = g_list_append (item2del_list, fishitem);
- gc_sound_play_ogg ("crash", NULL);
- }
+ if(x2<0)
+ fish_escape (fishitem);
}
while (g_list_length (item_list) < 3) {
diff --git a/src/boards/clockgame.c b/src/boards/clockgame.c
index 92749d6..6f5eba2 100644
--- a/src/boards/clockgame.c
+++ b/src/boards/clockgame.c
@@ -158,7 +158,6 @@ static void start_board (GcomprisBoard *agcomprisBoard)
gamewon = FALSE;
pause_board(FALSE);
- gc_cursor_set(GCOMPRIS_LINE_CURSOR);
}
}
@@ -174,7 +173,6 @@ end_board ()
destroy_all_items();
}
gcomprisBoard = NULL;
- gc_cursor_set(GCOMPRIS_DEFAULT_CURSOR);
}
static void
@@ -667,6 +665,7 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data)
switch (event->type)
{
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
x = item_x;
y = item_y;
@@ -701,10 +700,16 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data)
else if(item==minute_item)
{
if(currentTime.minute > 45 && angle * 30 / M_PI < 15)
- currentTime.hour++;
+ {
+ currentTime.hour++;
+ gc_sound_play_ogg ("sounds/paint1.wav", NULL);
+ }
if(currentTime.minute < 15 && angle * 30 / M_PI > 45)
- currentTime.hour--;
+ {
+ currentTime.hour--;
+ gc_sound_play_ogg ("sounds/paint1.wav", NULL);
+ }
display_minute(angle * 30 / M_PI);
display_hour(currentTime.hour);
@@ -712,10 +717,16 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data)
else if(item==second_item)
{
if(currentTime.second > 45 && angle * 30 / M_PI < 15)
- currentTime.minute++;
+ {
+ currentTime.minute++;
+ gc_sound_play_ogg ("sounds/paint1.wav", NULL);
+ }
if(currentTime.second < 15 && angle * 30 / M_PI > 45)
- currentTime.minute--;
+ {
+ currentTime.minute--;
+ gc_sound_play_ogg ("sounds/paint1.wav", NULL);
+ }
display_second(angle * 30 / M_PI);
display_minute(currentTime.minute);
@@ -747,11 +758,11 @@ static void get_random_hour(GcomprisTime *time)
{
time->hour=g_random_int()%12;
-
+
if(gcomprisBoard->level>3)
time->second=g_random_int()%60;
else time->second=0;
-
+
time->minute=g_random_int()%60;
switch(gcomprisBoard->level)
diff --git a/src/boards/colors.c b/src/boards/colors.c
index 46cf4a8..7684c11 100644
--- a/src/boards/colors.c
+++ b/src/boards/colors.c
@@ -449,6 +449,7 @@ static gint item_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data) {
clicked = 9;
if (clicked >= 0) {
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
board_paused = TRUE;
highlight_selected(clicked);
gamewon = (clicked == GPOINTER_TO_INT(g_list_nth_data(listColors,0)));
diff --git a/src/boards/enumerate.c b/src/boards/enumerate.c
index e4474dc..b3133bb 100644
--- a/src/boards/enumerate.c
+++ b/src/boards/enumerate.c
@@ -402,7 +402,7 @@ static GnomeCanvasItem *enumerate_create_item(GnomeCanvasGroup *parent)
/* Display the answer area */
current_y -= ANSWER_HEIGHT*2;
- pixmap_answer = gc_pixmap_load("images/enumerate_answer.png");
+ pixmap_answer = gc_pixmap_load("images/enumerate_answer_focus.png");
item = \
gnome_canvas_item_new (boardRootItem,
@@ -416,7 +416,7 @@ static GnomeCanvasItem *enumerate_create_item(GnomeCanvasGroup *parent)
gdk_pixbuf_unref(pixmap_answer);
- pixmap_answer = gc_pixmap_load("images/enumerate_answer_focus.png");
+ pixmap_answer = gc_pixmap_load("images/enumerate_answer.png");
answer_item_focus[i] = \
gnome_canvas_item_new (boardRootItem,
@@ -492,6 +492,7 @@ item_event_focus(GnomeCanvasItem *item, GdkEvent *event, guint index)
switch (event->type)
{
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/prompt.wav", NULL);
gnome_canvas_item_hide(answer_item_focus[current_focus]);
current_focus = index;
gnome_canvas_item_show(answer_item_focus[current_focus]);
@@ -528,6 +529,7 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data)
switch(event->button.button)
{
case 1:
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
x = item_x;
y = item_y;
diff --git a/src/boards/erase.c b/src/boards/erase.c
index d6c25dd..174c0cb 100644
--- a/src/boards/erase.c
+++ b/src/boards/erase.c
@@ -24,8 +24,12 @@
#define SOUNDLISTFILE PACKAGE
#define MAX_LAYERS 3
+typedef struct {gint count; gint max;} counter;
+
static GcomprisBoard *gcomprisBoard = NULL;
static gboolean board_paused = TRUE;
+static SoundPolicy sound_policy;
+
static void start_board (GcomprisBoard *agcomprisBoard);
static void pause_board (gboolean pause);
@@ -46,6 +50,7 @@ static void shuffle_image_list(char *list[], int size);
static int number_of_item = 0;
static int number_of_item_x = 0;
static int number_of_item_y = 0;
+static guint normal_delay_id = 0;
static gint timer_id = 0;
@@ -173,17 +178,19 @@ static void start_board (GcomprisBoard *agcomprisBoard)
gcomprisBoard->sublevel=1;
gcomprisBoard->number_of_sublevel=10; /* Go to next level after this number of 'play' */
gc_score_start(SCORESTYLE_NOTE,
- gcomprisBoard->width - 220,
- gcomprisBoard->height - 50,
- gcomprisBoard->number_of_sublevel);
+ gcomprisBoard->width - 220,
+ gcomprisBoard->height - 50,
+ gcomprisBoard->number_of_sublevel);
gc_bar_set(GC_BAR_LEVEL);
if (strcmp(gcomprisBoard->mode,"double_clic")==0)
board_mode = DOUBLECLIC;
else if (strcmp(gcomprisBoard->mode,"clic")==0)
board_mode = CLIC;
- else
+ else {
board_mode = NORMAL;
+ gcomprisBoard->maxlevel=8;
+ }
if (board_mode == DOUBLECLIC){
GtkSettings *DefaultsGtkSettings = gtk_settings_get_default ();
@@ -209,11 +216,19 @@ static void start_board (GcomprisBoard *agcomprisBoard)
gamewon = FALSE;
pause_board(FALSE);
+
+ /* initial state to restore */
+ sound_policy = gc_sound_policy_get();
+ gc_sound_policy_set(PLAY_AND_INTERRUPT);
+
+ gc_cursor_set(GCOMPRIS_DEL_CURSOR);
+
}
}
/* ======================================= */
static void end_board ()
{
+ gc_cursor_set(GCOMPRIS_DEFAULT_CURSOR);
if (board_mode == DOUBLECLIC){
gdk_display_set_double_click_time( gdk_display_get_default(),
DefaultDoubleClicDistance);
@@ -226,6 +241,7 @@ static void end_board ()
erase_destroy_all_items();
}
gcomprisBoard = NULL;
+ gc_sound_policy_set(sound_policy);
}
/* ======================================= */
@@ -292,7 +308,9 @@ static void erase_next_level()
/* Select the number of layer depending on the level */
if (board_mode != DOUBLECLIC){
- if(gcomprisBoard->level>4)
+ if(gcomprisBoard->level>6)
+ layers = 4;
+ else if(gcomprisBoard->level>4)
layers = 3;
else if(gcomprisBoard->level>2)
layers = 2;
@@ -309,6 +327,11 @@ static void erase_next_level()
/* Destroy all the items */
static void erase_destroy_all_items()
{
+ if (normal_delay_id) {
+ g_source_remove (normal_delay_id);
+ normal_delay_id = 0;
+ }
+
if (timer_id) {
gtk_timeout_remove (timer_id);
timer_id = 0;
@@ -326,8 +349,9 @@ static GnomeCanvasItem *erase_create_item(int layer)
int ix, jy;
GnomeCanvasItem *item = NULL;
GdkPixbuf *pixmap[MAX_LAYERS];
+ counter *c;
- g_assert(layer<=MAX_LAYERS);
+/* g_assert(layer<=MAX_LAYERS); */
boardRootItem = GNOME_CANVAS_GROUP(
gnome_canvas_item_new (gnome_canvas_root(gcomprisBoard->canvas),
@@ -345,24 +369,26 @@ static GnomeCanvasItem *erase_create_item(int layer)
pixmap[0] = gc_pixmap_load("images/transparent_square.png");
if(layer>1)
- pixmap[1] = gc_pixmap_load("images/water_spot.png");
+ pixmap[1] = gc_pixmap_load("images/transparent_square_green.png");
if(layer>2)
- pixmap[2] = gc_pixmap_load("images/water_drop.png");
+ pixmap[2] = gc_pixmap_load("images/transparent_square_yellow.png");
for(i=0,ix=0; i<BOARDWIDTH; i+=BOARDWIDTH/number_of_item_x, ix++)
{
for(j=0, jy=0; j<BOARDHEIGHT; j+=BOARDHEIGHT/number_of_item_y, jy++)
{
int current_layer = layer;
+ if (layer == 4)
+ current_layer = 1 ;
if ((board_mode != NORMAL) && ((ix+jy) %2 == 0))
continue;
while(current_layer--)
{
- double w = (BOARDWIDTH/number_of_item_x) * (1.0 - (0.3 * current_layer));
- double h = (BOARDHEIGHT/number_of_item_y) * (1.0 - (0.3 * current_layer));
+ double w = (BOARDWIDTH/number_of_item_x) ;
+ double h = (BOARDHEIGHT/number_of_item_y) ;
double x = i + ((BOARDWIDTH/number_of_item_x) - w) / 2;
double y = j + ((BOARDHEIGHT/number_of_item_y) - h) / 2;
@@ -377,8 +403,16 @@ static GnomeCanvasItem *erase_create_item(int layer)
"height_set", TRUE,
"anchor", GTK_ANCHOR_NW,
NULL);
-
- gtk_signal_connect(GTK_OBJECT(item), "event", (GtkSignalFunc) item_event, NULL);
+ c = g_new (counter, 1);
+ c->count = 0 ;
+ c->max = 0 ;
+ /* if item is not first, it must be keep first time mouse
+ * pass over in normal mode or in layer 4 */
+ if ((current_layer > 0) || (layer == 4))
+ c->max = 1 ;
+
+ g_signal_connect_data (item, "event", (GCallback) item_event, (gpointer)c,
+ (GClosureNotify) g_free, 0);
number_of_item++;
}
}
@@ -426,21 +460,55 @@ static void game_won()
erase_next_level();
}
+static gboolean
+erase_one_item (GnomeCanvasItem *item)
+{
+ gtk_object_destroy(GTK_OBJECT(item));
+
+ if(number_of_item%2)
+ gc_sound_play_ogg ("sounds/eraser1.wav", NULL);
+ else
+ gc_sound_play_ogg ("sounds/eraser2.wav", NULL);
+
+ if(--number_of_item == 0)
+ {
+ gamewon = TRUE;
+ erase_destroy_all_items();
+ timer_id = gtk_timeout_add (4000, (GtkFunction) bonus, NULL);
+ }
+ normal_delay_id = 0;
+ return FALSE;
+}
+
/* ==================================== */
static gint
item_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data)
{
-
+ counter *c = (counter *) data;
if(board_paused)
return FALSE;
if (event->type == GDK_MOTION_NOTIFY)
return FALSE;
- if (board_mode == NORMAL)
- if (event->type != GDK_ENTER_NOTIFY)
- return FALSE;
-
+ if (board_mode == NORMAL) {
+ if (event->type == GDK_ENTER_NOTIFY) {
+ if (c->count < c->max){
+ c->count++ ;
+ return FALSE ;
+ }
+ /* Are enter & leave always sent in pairs? Don't assume. */
+ if (normal_delay_id)
+ g_source_remove (normal_delay_id);
+ normal_delay_id
+ = g_timeout_add (50, (GSourceFunc) erase_one_item, item);
+ } else if (event->type == GDK_LEAVE_NOTIFY) {
+ if (normal_delay_id)
+ g_source_remove (normal_delay_id);
+ normal_delay_id = 0;
+ }
+ return FALSE;
+ }
if (board_mode == CLIC)
if (event->type != GDK_BUTTON_PRESS)
return FALSE;
@@ -461,14 +529,7 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data)
}
}
- gtk_object_destroy(GTK_OBJECT(item));
-
- if(--number_of_item == 0)
- {
- gamewon = TRUE;
- erase_destroy_all_items();
- timer_id = gtk_timeout_add (4000, (GtkFunction) bonus, NULL);
- }
+ erase_one_item (item);
return FALSE;
}
diff --git a/src/boards/gletters.c b/src/boards/gletters.c
index 660b0c1..cbab139 100644
--- a/src/boards/gletters.c
+++ b/src/boards/gletters.c
@@ -698,6 +698,7 @@ static void gletters_add_new_item()
*/
static gint gletters_drop_items (GtkWidget *widget, gpointer data)
{
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
gletters_add_new_item();
drop_items_id = gtk_timeout_add (fallSpeed,
@@ -710,7 +711,7 @@ static void player_win(GnomeCanvasItem *item)
g_message("in player_win\n");
gletters_destroy_item(item);
- gc_sound_play_ogg ("sounds/gobble.ogg", NULL);
+ gc_sound_play_ogg ("sounds/flip.wav", NULL);
gcomprisBoard->sublevel++;
diff --git a/src/boards/hanoi.c b/src/boards/hanoi.c
index e70ed0e..dec5193 100644
--- a/src/boards/hanoi.c
+++ b/src/boards/hanoi.c
@@ -380,17 +380,20 @@ static GnomeCanvasItem *hanoi_create_item(GnomeCanvasGroup *parent)
/* Randomly place the solution */
for (color_to_place=0; color_to_place<number_of_item_y; color_to_place++)
{
+ printf("color_to_place %d \n", color_to_place);
gboolean done;
do
{
done = FALSE;
- i = (guint)g_random_int_range(0, number_of_item_x-2);
+ i = (guint)g_random_int_range(0, number_of_item_x);
/* Restrict the goal to lowest items */
j = (guint)g_random_int_range(0, 2);
+ printf("color_to_place %d i = %d, j= %d postition->color %d\n", color_to_place, i, j, position[i][j]->color);
+
if(position[i][j]->color == -1)
{
done = TRUE;
diff --git a/src/boards/leftright.c b/src/boards/leftright.c
index 23bdc5d..b1d59b7 100644
--- a/src/boards/leftright.c
+++ b/src/boards/leftright.c
@@ -396,6 +396,7 @@ static gint item_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data) {
if (y>CLICKABLE_Y1 && y<CLICKABLE_Y2) {
if (x>CLICKABLE_X1 && x<CLICKABLE_X2) { // the left button is clicked
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
board_paused = TRUE;
side = LEFT;
highlight_selected(side);
@@ -403,6 +404,7 @@ static gint item_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data) {
process_ok();
}
if (x>CLICKABLE_X3 && x<CLICKABLE_X4) { // the left button is clicked
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
board_paused = TRUE;
side = RIGHT;
highlight_selected(side);
diff --git a/src/boards/machpuzzle.c b/src/boards/machpuzzle.c
index ed30700..946a38b 100644
--- a/src/boards/machpuzzle.c
+++ b/src/boards/machpuzzle.c
@@ -289,6 +289,7 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, MachItem *machItem)
{
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/brick.wav", NULL);
width = x2-x1;
// machItem->vyo = (y1 - machItem->ypos) * machItem->elasticity;
@@ -559,6 +560,7 @@ static void minigolf_move(GList *item_list)
{
//printf("!!! Collision detected with:\n");
//dump_machItem(collMachItem);
+ gc_sound_play_ogg ("sounds/flip.wav", NULL);
collision = TRUE;
gamewon = TRUE;
diff --git a/src/boards/maze.c b/src/boards/maze.c
index 6618cf1..9c2ea7a 100644
--- a/src/boards/maze.c
+++ b/src/boards/maze.c
@@ -804,9 +804,14 @@ static void movePos(int x1, int y1, int x2,int y2, int richting)
int ret,wall,i,bo=1;
ret=1;
wall=Maze[x1][y1];
- if (wall&richting) ret=0;
+ if (wall&richting)
+ {
+ gc_sound_play_ogg ("sounds/brick.wav", NULL);
+ ret=0;
+ }
if (ret)
{
+ gc_sound_play_ogg ("sounds/prompt.wav", NULL);
if (Maze[x2][y2]&SET)
{
for (i=(ind); i>=0 && bo; i--)
@@ -924,6 +929,7 @@ static gint key_press(guint keyval, gchar *commit_str, gchar *preedit_str)
case GDK_3:
case GDK_space:
if(modeIsInvisible) {
+ gc_sound_play_ogg ("sounds/flip.wav", NULL);
if(mapActive) {
gnome_canvas_item_hide(GNOME_CANVAS_ITEM(wallgroup));
/* Hide the warning */
@@ -943,7 +949,11 @@ static gint key_press(guint keyval, gchar *commit_str, gchar *preedit_str)
return TRUE;
default: return FALSE;
}
- if (Maze[position[ind][0]][position[ind][1]]&richting) return TRUE;
+ if (Maze[position[ind][0]][position[ind][1]]&richting)
+ {
+ gc_sound_play_ogg ("sounds/brick.wav", NULL);
+ return TRUE;
+ }
one_step(richting);
viewing_direction=richting;
@@ -983,16 +993,19 @@ static gint key_press_2D_relative(guint keyval, gchar *commit_str, gchar *preedi
switch (keyval)
{
case GDK_Left: viewing_direction=TURN_LEFT(viewing_direction);
+ gc_sound_play_ogg ("sounds/grow.wav", NULL);
update_tux(viewing_direction);
return TRUE;
break;
case GDK_Right: viewing_direction=TURN_RIGHT(viewing_direction);
+ gc_sound_play_ogg ("sounds/grow.wav", NULL);
update_tux(viewing_direction);
return TRUE;
break;
case GDK_Up: one_step(viewing_direction);
break;
case GDK_Down:
+ gc_sound_play_ogg ("sounds/grow.wav", NULL);
viewing_direction=TURN_RIGHT(viewing_direction);
viewing_direction=TURN_RIGHT(viewing_direction);
update_tux(viewing_direction);
@@ -1018,15 +1031,17 @@ static gint key_press_3D(guint keyval, gchar *commit_str, gchar *preedit_str)
switch (keyval)
{
case GDK_Left: viewing_direction=TURN_LEFT(viewing_direction);
+ gc_sound_play_ogg ("sounds/grow.wav", NULL);
break;
case GDK_Right: viewing_direction=TURN_RIGHT(viewing_direction);
+ gc_sound_play_ogg ("sounds/grow.wav", NULL);
break;
case GDK_Up: one_step(viewing_direction);
break;
case GDK_Down:
viewing_direction=TURN_RIGHT(viewing_direction);
viewing_direction=TURN_RIGHT(viewing_direction);
- update_tux(viewing_direction);
+ gc_sound_play_ogg ("sounds/grow.wav", NULL);
break;
case GDK_2:
case GDK_space:
@@ -1379,6 +1394,7 @@ static void draw3D()
static void twoDdisplay()
{
char *fileskin;
+ gc_sound_play_ogg ("sounds/flip.wav", NULL);
fileskin = gc_skin_image_get("gcompris-bg.jpg");
gc_set_background(gnome_canvas_root(gcomprisBoard->canvas), fileskin);
g_free(fileskin);
@@ -1391,6 +1407,7 @@ static void twoDdisplay()
static void threeDdisplay()
{
+ gc_sound_play_ogg ("sounds/flip.wav", NULL);
gc_set_background(gnome_canvas_root(gcomprisBoard->canvas), "images/maze-bg.jpg");
gnome_canvas_item_hide(GNOME_CANVAS_ITEM(boardRootItem));
threeDactive=TRUE;
@@ -1424,6 +1441,4 @@ static void update_tux(gint direction)
NULL);
gdk_pixbuf_unref(pixmap);
}
-
-
}
diff --git a/src/boards/memory.c b/src/boards/memory.c
index cbe9bae..df51ad0 100644
--- a/src/boards/memory.c
+++ b/src/boards/memory.c
@@ -921,7 +921,7 @@ end_board ()
g_free(op_minus);
g_free(op_mult);
g_free(op_div);
-
+
gcomprisBoard = NULL;
}
@@ -1235,7 +1235,7 @@ static void create_item(GnomeCanvasGroup *parent)
"y", (double) 20,
NULL);
gdk_pixbuf_unref(pixmap_tux);
-
+
tux_score_s = gnome_canvas_item_new (GNOME_CANVAS_GROUP(parent),
gnome_canvas_text_get_type (),
"font", gc_skin_font_board_huge_bold,
@@ -1543,7 +1543,7 @@ static void check_win()
// Check win
if (compare_card((gpointer) firstCard, (gpointer) secondCard) == 0) {
- gc_sound_play_ogg ("sounds/gobble.ogg", NULL);
+ gc_sound_play_ogg ("sounds/flip.wav", NULL);
win_id = g_timeout_add (timeout,
(GSourceFunc) hide_card, NULL);
return;
@@ -1589,6 +1589,9 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, MemoryItem *memoryItem)
if(win_id)
return FALSE;
+ if (currentUiMode == UIMODE_NORMAL)
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
+
if(secondCard)
{
display_card(firstCard, ON_BACK);
@@ -1735,7 +1738,7 @@ static gint tux_play(){
if (currentUiMode == UIMODE_SOUND)
return FALSE;
else {
- gc_sound_play_ogg ("sounds/gobble.ogg", NULL);
+ gc_sound_play_ogg ("sounds/flip.wav", NULL);
win_id = g_timeout_add (1000,
(GSourceFunc) hide_card, NULL);
return TRUE;
@@ -1789,7 +1792,7 @@ static gint tux_play(){
return FALSE;
else {
if (compare_card(firstCard, secondCard)==0){
- gc_sound_play_ogg ("sounds/gobble.ogg", NULL);
+ gc_sound_play_ogg ("sounds/flip.wav", NULL);
g_warning("Now tux win !");
win_id = g_timeout_add (1000,
(GSourceFunc) hide_card, NULL);
diff --git a/src/boards/menu2.c b/src/boards/menu2.c
index fe9355f..a16f9c7 100644
--- a/src/boards/menu2.c
+++ b/src/boards/menu2.c
@@ -652,7 +652,7 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, MenuItems *menuitems)
if(!menu_displayed)
return TRUE;
- gc_sound_play_ogg ("sounds/gobble.ogg", NULL);
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
if (strcmp(board->type,"menu")==0){
gchar *path = g_strdup_printf("%s/%s",board->section, board->name);
diff --git a/src/boards/paratrooper.c b/src/boards/paratrooper.c
index 804ef50..384c7ad 100644
--- a/src/boards/paratrooper.c
+++ b/src/boards/paratrooper.c
@@ -38,7 +38,8 @@ static gint boat_x, boat_y, boat_landarea_y, boat_length;
static GnomeCanvasItem *planeitem = NULL;
static gint plane_x, plane_y;
-static gint planespeed_x, planespeed_y, windspeed;
+static gint planespeed_x, planespeed_y;
+static double windspeed;
typedef struct {
gint number;
@@ -58,12 +59,15 @@ typedef enum
typedef struct {
ParaStatus status;
- gint speed;
- gint x;
- gint y;
+ double speed;
+ double drift;
+ gboolean speed_override;
+ double x;
+ double y;
GnomeCanvasItem *rootitem;
GnomeCanvasItem *paratrooper;
GnomeCanvasItem *parachute;
+ GnomeCanvasItem *instruct;
} ParatrooperItem;
static ParatrooperItem paratrooperItem;
@@ -253,7 +257,7 @@ static gint key_press(guint keyval, gchar *commit_str, gchar *preedit_str)
case GDK_Hyper_L:
case GDK_Hyper_R:
case GDK_Num_Lock:
- return FALSE;
+ return FALSE;
case GDK_KP_Enter:
case GDK_Return:
return TRUE;
@@ -262,12 +266,14 @@ static gint key_press(guint keyval, gchar *commit_str, gchar *preedit_str)
case GDK_Left:
break;
case GDK_Up:
- if(paratrooperItem.speed >= 3)
+ paratrooperItem.speed_override = 1;
+ if(paratrooperItem.status == TUX_FLYING && paratrooperItem.speed >= 3)
paratrooperItem.speed--;
return TRUE;
case GDK_Down:
- if(paratrooperItem.speed <= 6)
- paratrooperItem.speed++;
+ paratrooperItem.speed_override = 1;
+ if(paratrooperItem.status == TUX_FLYING && paratrooperItem.speed <= 6)
+ paratrooperItem.speed++;
return TRUE;
}
@@ -298,7 +304,7 @@ is_our_board (GcomprisBoard *gcomprisBoard)
/*-------------------------------------------------------------------------------*/
/* set initial values for the next level */
-static void paratrooper_next_level()
+static void paratrooper_next_level()
{
GdkPixbuf *pixmap = NULL;
char *str = NULL;
@@ -313,7 +319,7 @@ static void paratrooper_next_level()
speed=100+(30/(gcomprisBoard->level));
gcomprisBoard->number_of_sublevel=0;
/* Make the images tend to 0.5 ratio */
- imageZoom=0.4+(0.4/(gcomprisBoard->level));
+ imageZoom=0.4+(0.2 * (2 - (gcomprisBoard->level-1) % 3));
/* Setup and Display the plane */
planespeed_y = 0;
@@ -324,22 +330,27 @@ static void paratrooper_next_level()
plane_y = 40;
planeitem = gnome_canvas_item_new (gnome_canvas_root(gcomprisBoard->canvas),
gnome_canvas_pixbuf_get_type (),
- "pixbuf", pixmap,
+ "pixbuf", pixmap,
"x", (double) plane_x,
"y", (double) plane_y,
"width", (double) gdk_pixbuf_get_width(pixmap)*imageZoom,
"height", (double) gdk_pixbuf_get_height(pixmap)*imageZoom,
- "width_set", TRUE,
+ "width_set", TRUE,
"height_set", TRUE,
NULL);
gtk_signal_connect(GTK_OBJECT(planeitem), "event",
(GtkSignalFunc) item_event,
NULL);
+ gtk_signal_connect(GTK_OBJECT(planeitem), "event",
+ (GtkSignalFunc) gc_item_focus_event,
+ NULL);
gdk_pixbuf_unref(pixmap);
-
- windspeed = (3 + g_random_int()%gcomprisBoard->level);
- if(g_random_int()%2==0)
+
+ windspeed = (3 + rand() % (100 * gcomprisBoard->level) / 100);
+ if(rand()%2==0)
windspeed *= -1;
+ if (gcomprisBoard->level >= 4)
+ windspeed *= 2;
/* Drop a cloud */
gtk_timeout_add (200,
@@ -355,12 +366,12 @@ static void paratrooper_next_level()
boat_length = gdk_pixbuf_get_width(pixmap)*imageZoom;
boatitem = gnome_canvas_item_new (gnome_canvas_root(gcomprisBoard->canvas),
gnome_canvas_pixbuf_get_type (),
- "pixbuf", pixmap,
+ "pixbuf", pixmap,
"x", (double) boat_x,
"y", (double) boat_y,
"width", (double) gdk_pixbuf_get_width(pixmap)*imageZoom,
"height", (double) gdk_pixbuf_get_height(pixmap),
- "width_set", TRUE,
+ "width_set", TRUE,
"height_set", TRUE,
NULL);
gdk_pixbuf_unref(pixmap);
@@ -389,7 +400,7 @@ static void paratrooper_next_level()
paratrooperItem.paratrooper = gnome_canvas_item_new (GNOME_CANVAS_GROUP(paratrooperItem.rootitem),
gnome_canvas_pixbuf_get_type (),
- "pixbuf", pixmap,
+ "pixbuf", pixmap,
"x", (double) -gdk_pixbuf_get_width(pixmap)/2,
"y", (double) -gdk_pixbuf_get_height(pixmap)/2,
"width", (double) gdk_pixbuf_get_width(pixmap),
@@ -400,6 +411,9 @@ static void paratrooper_next_level()
gtk_signal_connect(GTK_OBJECT(paratrooperItem.paratrooper), "event",
(GtkSignalFunc) item_event,
NULL);
+ gtk_signal_connect(GTK_OBJECT(paratrooperItem.paratrooper), "event",
+ (GtkSignalFunc) gc_item_focus_event,
+ NULL);
g_free(str);
str = g_strdup_printf("%s%s", pixmapsdir, "parachute.png");
@@ -407,7 +421,7 @@ static void paratrooper_next_level()
paratrooperItem.parachute = gnome_canvas_item_new (GNOME_CANVAS_GROUP(paratrooperItem.rootitem),
gnome_canvas_pixbuf_get_type (),
- "pixbuf", pixmap,
+ "pixbuf", pixmap,
"x", (double) -gdk_pixbuf_get_width(pixmap)/2,
"y", (double) -(gdk_pixbuf_get_height(pixmap)/2)-60,
"width", (double) gdk_pixbuf_get_width(pixmap),
@@ -418,6 +432,16 @@ static void paratrooper_next_level()
g_free (str);
+ paratrooperItem.instruct = gnome_canvas_item_new (gnome_canvas_root (gcomprisBoard->canvas),
+ gnome_canvas_text_get_type (),
+ "text", _("Control fall speed with up and down arrow keys."),
+ "font", gc_skin_font_board_medium,
+ "fill_color_rgba", gc_skin_color_title,
+ "anchor", GTK_ANCHOR_CENTER,
+ "x", (double) gcomprisBoard->width / 2.0,
+ "y", (double) 130,
+ NULL);
+ gnome_canvas_item_hide (paratrooperItem.instruct);
}
@@ -438,7 +462,7 @@ static void paratrooper_move_plane(GnomeCanvasItem *item)
if(paratrooperItem.status!=TUX_INPLANE)
gnome_canvas_item_hide(item);
- }
+ }
gnome_canvas_item_move(item, (double)planespeed_x, (double)planespeed_y);
plane_x+=planespeed_x;
@@ -458,7 +482,7 @@ static void paratrooper_move_cloud(CloudItem *clouditem)
&x2,
&y2);
- /* Manage the wrapping for the cloud */
+ /* Manage the wrapping for the cloud */
if(windspeed<0 && x2<0)
{
gnome_canvas_item_move(item, gcomprisBoard->width, 0.0);
@@ -485,7 +509,7 @@ static void paratrooper_destroy_items()
{
CloudItem *clouditem;
- while(g_list_length(item2del_list)>0)
+ while(g_list_length(item2del_list)>0)
{
clouditem = g_list_nth_data(item2del_list, 0);
paratrooper_destroy_item(clouditem);
@@ -497,7 +521,7 @@ static void paratrooper_destroy_all_items()
{
CloudItem *clouditem;
- while(g_list_length(item_list)>0)
+ while(g_list_length(item_list)>0)
{
clouditem = g_list_nth_data(item_list, 0);
paratrooper_destroy_item(clouditem);
@@ -520,6 +544,10 @@ static void paratrooper_destroy_all_items()
gtk_object_destroy (GTK_OBJECT(paratrooperItem.rootitem));
paratrooperItem.rootitem = NULL;
}
+ if (paratrooperItem.instruct) {
+ gtk_object_destroy (GTK_OBJECT (paratrooperItem.instruct));
+ paratrooperItem.instruct = NULL;
+ }
}
/*
@@ -548,7 +576,7 @@ static gint paratrooper_move_items (GtkWidget *widget, gpointer data)
*/
static gint paratrooper_move_tux (GtkWidget *widget, gpointer data)
{
- gint offset;
+ double offset;
/* Manage the wrapping */
if(paratrooperItem.x<0) {
@@ -560,7 +588,14 @@ static gint paratrooper_move_tux (GtkWidget *widget, gpointer data)
gnome_canvas_item_move(paratrooperItem.rootitem, -gcomprisBoard->width, 0);
}
- offset = ( windspeed<0 ? -1 : 1 );
+ offset = (windspeed / 2 + 15 * paratrooperItem.drift) / 16;
+ paratrooperItem.drift = offset;
+
+ if (paratrooperItem.status == TUX_DROPPING && gcomprisBoard->level >= 4)
+ paratrooperItem.speed *= 1.05;
+ if (paratrooperItem.status == TUX_FLYING && paratrooperItem.speed > 3 &&
+ !paratrooperItem.speed_override)
+ paratrooperItem.speed /= 1.2;
gnome_canvas_item_move(paratrooperItem.rootitem, offset, paratrooperItem.speed);
paratrooperItem.y += paratrooperItem.speed;
paratrooperItem.x += offset;
@@ -573,7 +608,6 @@ static gint paratrooper_move_tux (GtkWidget *widget, gpointer data)
{
gnome_canvas_item_hide(paratrooperItem.parachute);
paratrooperItem.status = TUX_LANDED;
- gc_sound_play_ogg ("sounds/bonus.ogg", NULL);
next_state();
}
else
@@ -585,7 +619,6 @@ static gint paratrooper_move_tux (GtkWidget *widget, gpointer data)
{
gnome_canvas_item_hide(paratrooperItem.parachute);
paratrooperItem.status = TUX_CRASHED;
- gc_sound_play_ogg ("sounds/crash.ogg", NULL);
next_state();
}
}
@@ -620,7 +653,7 @@ static GnomeCanvasItem *paratrooper_create_cloud(GnomeCanvasGroup *parent)
gnome_canvas_item_new (parent,
gnome_canvas_group_get_type (),
"x", (double) x,
- "y", (double)(g_random_int()%(gcomprisBoard->height-200-
+ "y", (double)(rand()%(gcomprisBoard->height-200-
(guint)(gdk_pixbuf_get_height(pixmap)*
imageZoom))),
NULL);
@@ -628,12 +661,12 @@ static GnomeCanvasItem *paratrooper_create_cloud(GnomeCanvasGroup *parent)
gnome_canvas_item_new (GNOME_CANVAS_GROUP(itemgroup),
gnome_canvas_pixbuf_get_type (),
- "pixbuf", pixmap,
+ "pixbuf", pixmap,
"x", (double) -gdk_pixbuf_get_width(pixmap)*imageZoom/2,
"y", (double) -gdk_pixbuf_get_height(pixmap)*imageZoom/2,
"width", (double) gdk_pixbuf_get_width(pixmap)*imageZoom,
"height", (double) gdk_pixbuf_get_height(pixmap)*imageZoom,
- "width_set", TRUE,
+ "width_set", TRUE,
"height_set", TRUE,
NULL);
gdk_pixbuf_unref(pixmap);
@@ -652,7 +685,7 @@ static GnomeCanvasItem *paratrooper_create_cloud(GnomeCanvasGroup *parent)
return (itemgroup);
}
-static void paratrooper_add_new_item()
+static void paratrooper_add_new_item()
{
paratrooper_create_cloud(gnome_canvas_root(gcomprisBoard->canvas));
}
@@ -679,24 +712,35 @@ void next_state()
switch(paratrooperItem.status)
{
case TUX_INPLANE:
+ gc_sound_play_ogg ("sounds/wahoo.ogg", NULL);
gnome_canvas_item_move(paratrooperItem.rootitem, plane_x+100, 0);
paratrooperItem.x += plane_x+100;
gnome_canvas_item_show(paratrooperItem.paratrooper);
paratrooperItem.status = TUX_DROPPING;
+ paratrooperItem.drift = planespeed_x;
drop_tux_id = gtk_timeout_add (10, (GtkFunction) paratrooper_move_tux, NULL);
break;
case TUX_DROPPING:
+ gc_sound_play_ogg ("sounds/eraser2.wav", NULL);
gnome_canvas_item_lower_to_bottom(paratrooperItem.parachute);
gnome_canvas_item_show(paratrooperItem.parachute);
- paratrooperItem.speed /= 3;
paratrooperItem.status = TUX_FLYING;
+ paratrooperItem.speed_override = 0;
+ if (gcomprisBoard->level >= 2) {
+ gnome_canvas_item_raise_to_top (paratrooperItem.instruct);
+ gnome_canvas_item_show (paratrooperItem.instruct);
+ }
break;
case TUX_LANDED:
+ gc_sound_play_ogg ("sounds/tuxok.wav", NULL);
+ gnome_canvas_item_hide (paratrooperItem.instruct);
gamewon = TRUE;
gc_bonus_display(gamewon, BONUS_TUX);
break;
case TUX_CRASHED:
/* Restart */
+ gc_sound_play_ogg ("sounds/bubble.wav", NULL);
+ gnome_canvas_item_hide (paratrooperItem.instruct);
gnome_canvas_item_move(paratrooperItem.rootitem, -paratrooperItem.x, -paratrooperItem.y+60);
paratrooperItem.status = TUX_INPLANE;
paratrooperItem.x = 0;
@@ -717,7 +761,7 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, void *data)
if(!gcomprisBoard)
return FALSE;
- switch (event->type)
+ switch (event->type)
{
case GDK_BUTTON_PRESS:
next_state();
@@ -726,6 +770,6 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, void *data)
default:
break;
}
-
+
return FALSE;
}
diff --git a/src/boards/py-mod-gcompris.c b/src/boards/py-mod-gcompris.c
index c5ae83c..d80752c 100644
--- a/src/boards/py-mod-gcompris.c
+++ b/src/boards/py-mod-gcompris.c
@@ -1659,8 +1659,6 @@ void python_gcompris_module_init(void)
/* Cursors constants */
PyModule_AddIntConstant(gcomprisModule, "CURSOR_FIRST_CUSTOM", GCOMPRIS_FIRST_CUSTOM_CURSOR);
- PyModule_AddIntConstant(gcomprisModule, "CURSOR_BIG_RED_ARROW", GCOMPRIS_BIG_RED_ARROW_CURSOR);
- PyModule_AddIntConstant(gcomprisModule, "CURSOR_BIRD", GCOMPRIS_BIRD_CURSOR);
PyModule_AddIntConstant(gcomprisModule, "CURSOR_LINE", GCOMPRIS_LINE_CURSOR);
PyModule_AddIntConstant(gcomprisModule, "CURSOR_FILLRECT", GCOMPRIS_FILLRECT_CURSOR);
PyModule_AddIntConstant(gcomprisModule, "CURSOR_RECT", GCOMPRIS_RECT_CURSOR);
diff --git a/src/boards/py-mod-sound.c b/src/boards/py-mod-sound.c
index 27d77e8..5cf3423 100644
--- a/src/boards/py-mod-sound.c
+++ b/src/boards/py-mod-sound.c
@@ -51,11 +51,11 @@ py_gc_sound_play_ogg(PyObject* self, PyObject* args)
item = PyTuple_GetItem(args, i);
list = g_list_append(list, PyString_AsString(item));
}
-
+
/* Call the corresponding C function */
gc_sound_play_ogg_list(list);
g_list_free(list);
-
+
/* Create and return the result */
Py_INCREF(Py_None);
return Py_None;
@@ -151,7 +151,7 @@ void pyGcomprisSoundCallback(gchar *file){
result = PyObject_CallFunction(py_cb, "O", PyString_FromString(file));
// This callback can be called multiple time ?
-
+
Py_DECREF(py_cb);
if(result==NULL){
@@ -170,7 +170,7 @@ py_gc_sound_play_ogg_cb(PyObject* self, PyObject* args)
{
gchar *file;
PyObject* pyCallback;
-
+
/* Parse arguments */
if(!PyArg_ParseTuple(args,
"sO:gc_sound_play_ogg_cb",
diff --git a/src/boards/python/Makefile.am b/src/boards/python/Makefile.am
index b22acab..ec770a3 100644
--- a/src/boards/python/Makefile.am
+++ b/src/boards/python/Makefile.am
@@ -8,6 +8,7 @@ dist_python_DATA= \
anim.py \
ballcatch.py \
bargame.py \
+ chat.py \
connect4.py \
electric.py \
followline.py \
diff --git a/src/boards/python/algorithm.py b/src/boards/python/algorithm.py
index 69f5dd1..d31aec5 100644
--- a/src/boards/python/algorithm.py
+++ b/src/boards/python/algorithm.py
@@ -24,6 +24,7 @@ import gcompris.utils
import gcompris.skin
import gcompris.bonus
import gcompris.score
+import gcompris.sound
import gtk
import gtk.gdk
import random
@@ -204,6 +205,7 @@ class Gcompris_algorithm:
def apple_click (self, widget, event=None, index=0):
if event.type == gtk.gdk.BUTTON_PRESS and event.button == 1:
if index == self.random_index[self.algo(self.place)]:
+ gcompris.sound.play_ogg("sounds/bleep.wav")
self.qm.destroy()
self.paint_image(index, self.place, 147)
self.place +=1
@@ -211,5 +213,8 @@ class Gcompris_algorithm:
gcompris.bonus.display(gcompris.bonus.WIN, gcompris.bonus.TUX)
return
self.paint_qm ()
+ else:
+ gcompris.sound.play_ogg("sounds/brick.wav")
+
diff --git a/src/boards/python/anim.py b/src/boards/python/anim.py
index 99bb2be..a2ff4e6 100644
--- a/src/boards/python/anim.py
+++ b/src/boards/python/anim.py
@@ -33,6 +33,7 @@ import gcompris
import gcompris.utils
import gcompris.skin
import gcompris.bonus
+import gcompris.sound
import gtk
import gtk.gdk
import gtk.keysyms
@@ -169,6 +170,7 @@ class Gcompris_anim:
self.ANCHOR_SW = 6
self.ANCHOR_S = 7
self.ANCHOR_SE = 8
+ self.ANCHOR_T = 9
self.anchors = { 'LINE': [ self.ANCHOR_SW , self.ANCHOR_NE ],
'RECT': [ self.ANCHOR_N,
@@ -180,7 +182,7 @@ class Gcompris_anim:
self.ANCHOR_W,
self.ANCHOR_NW
],
- 'TEXT': [ self.ANCHOR_N ]
+ 'TEXT': [ self.ANCHOR_T ]
}
self.anchors ['FILL_RECT'] = self.anchors ['RECT']
self.anchors ['CIRCLE'] = self.anchors ['RECT']
@@ -485,7 +487,7 @@ class Gcompris_anim:
if (self.selected == None):
return True
elif (gobject.type_name(self.selected.item_list[0])!="GnomeCanvasText"):
- print "Not Text object when got key !!!"
+ #print "Not Text object when got key !!!"
return True
textItem = self.selected.item_list[0]
@@ -496,15 +498,12 @@ class Gcompris_anim:
if ((keyval == gtk.keysyms.BackSpace) or
(keyval == gtk.keysyms.Delete)):
- print "DEL", oldtext, len(oldtext)
if (len(oldtext) != 1):
newtext = oldtext[:-1]
else:
newtext = u'?'
+ self.last_commit = newtext
else:
-
-
-
if ((oldtext[:1] == u'?') and (len(oldtext)==1)):
oldtext = u' '
oldtext = oldtext.strip()
@@ -521,9 +520,7 @@ class Gcompris_anim:
else:
newtext = oldtext
-
textItem.set(markup=newtext.encode('UTF-8'))
- self.updated_text(textItem)
return True
@@ -591,6 +588,7 @@ class Gcompris_anim:
if event.type == gtk.gdk.BUTTON_PRESS:
if event.button == 1:
+ gcompris.sound.play_ogg("sounds/bleep.wav")
# Some button have instant effects
if (self.tools[tool][0] == "SAVE"):
# self.Anim2Shot()
@@ -698,6 +696,7 @@ class Gcompris_anim:
return
if event.type == gtk.gdk.BUTTON_PRESS:
+ gcompris.sound.play_ogg("sounds/drip.wav")
if event.button == 1:
# Deactivate old button
self.old_color_item.set(width_units = 0.0,
@@ -828,6 +827,7 @@ class Gcompris_anim:
def stop_event(self, item, event, up):
if event.type == gtk.gdk.BUTTON_PRESS:
+ gcompris.sound.play_ogg("sounds/bleep.wav")
self.playing_stop()
def playing_stop(self):
@@ -838,6 +838,7 @@ class Gcompris_anim:
def speed_event(self, item, event, up):
if event.type == gtk.gdk.BUTTON_PRESS:
+ gcompris.sound.play_ogg("sounds/bleep.wav")
if up:
if self.anim_speed==25:
return
@@ -952,6 +953,7 @@ class Gcompris_anim:
if event.type == gtk.gdk.BUTTON_PRESS and event.button == 1:
if event.button == 1:
+ gcompris.sound.play_ogg("sounds/bleep.wav")
self.unselect()
#
@@ -1026,6 +1028,7 @@ class Gcompris_anim:
def fillin_item_event(self, item, event):
if event.type == gtk.gdk.BUTTON_PRESS:
if event.button == 1:
+ gcompris.sound.play_ogg("sounds/paint1.wav")
if self.tools[self.current_tool][0] == "FILL":
item.set(fill_color_rgba=self.colors[self.current_color])
return True
@@ -1035,6 +1038,7 @@ class Gcompris_anim:
def fillout_item_event(self, item, event):
if event.type == gtk.gdk.BUTTON_PRESS:
if event.button == 1:
+ gcompris.sound.play_ogg("sounds/paint1.wav")
if self.tools[self.current_tool][0] == "FILL":
item.set(outline_color_rgba=self.colors[self.current_color])
return True
@@ -1050,6 +1054,8 @@ class Gcompris_anim:
if event.type == gtk.gdk.BUTTON_PRESS:
if event.button == 1:
if self.tools[self.current_tool][0] == "DEL":
+ gcompris.sound.play_ogg("sounds/eraser1.wav",
+ "sounds/eraser2.wav")
self.del_item(item);
return True
return False
@@ -1079,6 +1085,7 @@ class Gcompris_anim:
if event.type == gtk.gdk.BUTTON_PRESS:
if event.button == 1:
+ gcompris.sound.play_ogg("sounds/bleep.wav")
self.newitem = None
print "----------------------------------------"
print "Current image = " + str(self.current_frame)
@@ -1284,7 +1291,6 @@ class Gcompris_anim:
if self.tools[self.current_tool][0] == "TEXT":
- self.updated_text(self.newitem)
(x1, x2, y1, y2) = self.get_bounds(self.newitem)
self.object_set_size_and_pos(self.newitemgroup, x1, x2, y1, y2)
self.select_item(self.newitemgroup)
@@ -1569,6 +1575,13 @@ class Gcompris_anim:
y1= y2,
y2= y2 + self.DEFAULT_ANCHOR_SIZE
)
+ elif anchor_type == self.ANCHOR_T:
+ anchor.set(
+ x1= (x1 + x2 - self.DEFAULT_ANCHOR_SIZE*3)/2,
+ x2= (x1 + x2 + self.DEFAULT_ANCHOR_SIZE*3)/2,
+ y1= y2,
+ y2= y2 + self.DEFAULT_ANCHOR_SIZE
+ )
elif anchor_type == self.ANCHOR_NE:
anchor.set(
x1= x2,
@@ -1630,11 +1643,9 @@ class Gcompris_anim:
return False
if event.state & gtk.gdk.BUTTON1_MASK:
- # warning: anchor is in a group of anchors, wich is in the object group
+ # warning: anchor is in a group of anchors, which is in the object group
parent=item.get_property("parent").get_property("parent")
real_item=parent.item_list[0]
- if gobject.type_name(real_item)=="GnomeCanvasText":
- return
wx=event.x
wy=event.y
@@ -1652,6 +1663,10 @@ class Gcompris_anim:
y1=real_item.get_property("y")
x2=x1+real_item.get_property("width")
y2=y1+real_item.get_property("height")
+ elif gobject.type_name(real_item)=="GnomeCanvasText":
+ y1=y
+ y2=y+real_item.get_property("text_height")
+ pass
else:
x1=real_item.get_property("x1")
y1=real_item.get_property("y1")
@@ -1665,6 +1680,13 @@ class Gcompris_anim:
x2=x2,
y2=y
)
+ elif (anchor_type == self.ANCHOR_T):
+ self.object_set_size_and_pos(parent,
+ x1=x,
+ y1=y1,
+ x2=x,
+ y2=y2
+ )
elif (anchor_type == self.ANCHOR_NE):
self.object_set_size_and_pos(parent,
x1=x1,
@@ -1843,7 +1865,6 @@ class Gcompris_anim:
anchor.set_data('anchor_type', anchor_type)
anchor.connect("event", self.resize_item_event,anchor_type)
-
def select_item(self, group):
if (self.selected != None):
self.unselect()
@@ -1905,15 +1926,6 @@ class Gcompris_anim:
item.get_property("parent").affine_relative(mat)
- def updated_text(self, item):
- #item.set(clip=1)
- #bounds = self.get_bounds(item)
- #print bounds, bounds[2]-bounds[0], bounds[3]-bounds[1]
- #item.set(clip_width=bounds[2]-bounds[0],
- # clip_height=bounds[3]-bounds[1]
- # )
- return
-
###########################################
# Anim 2 specific
###########################################
@@ -2041,7 +2053,7 @@ class Gcompris_anim:
self.z_reinit()
self.item_frame_counter.set(text=self.current_frame + 1)
# print self.current_frame + 1
- gtk.timeout_add(500, self.run_flash)
+ gobject.timeout_add(500, self.run_flash)
def z_find_index(self, anAnimItem):
def f(x): return x < anAnimItem.z
diff --git a/src/boards/python/ballcatch.py b/src/boards/python/ballcatch.py
index 9a4461f..5623fd3 100644
--- a/src/boards/python/ballcatch.py
+++ b/src/boards/python/ballcatch.py
@@ -5,6 +5,7 @@ import gcompris
import gcompris.utils
import gcompris.skin
import gcompris.bonus
+import gcompris.sound
import gtk
import gtk.gdk
from gettext import gettext as _
@@ -222,6 +223,7 @@ class Gcompris_ballcatch:
if(self.left_continue or self.right_continue):
self.timer_inc = gtk.timeout_add(self.timerinc, self.timer_inc_display)
else:
+ gcompris.sound.play_ogg("sounds/brick.wav")
# Send the ball now
self.timer_diff = self.counter_right/1000 - self.counter_left/1000
# Make some adjustment so that it cannot be too or too far close from the target
@@ -263,10 +265,12 @@ class Gcompris_ballcatch:
if(self.counter_left == self.counter_right):
# This is a win
if (self.increment_level() == 1):
+ gcompris.sound.play_ogg("sounds/tuxok.wav")
self.gamewon = 1
gcompris.bonus.display(gcompris.bonus.WIN, gcompris.bonus.TUX)
else:
# This is a loose
+ gcompris.sound.play_ogg("sounds/youcannot.wav")
self.gamewon = 0
gcompris.bonus.display(gcompris.bonus.LOOSE, gcompris.bonus.TUX)
diff --git a/src/boards/python/chat.py b/src/boards/python/chat.py
new file mode 100644
index 0000000..e3e2891
--- /dev/null
+++ b/src/boards/python/chat.py
@@ -0,0 +1,277 @@
+# gcompris - Chat
+#
+# Copyright (C) 2006 Bruno Coudoin
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+from gettext import gettext as _
+import gnomecanvas
+import gcompris
+import gcompris.utils
+import gcompris.bonus
+import gcompris.skin
+import gtk
+import gtk.gdk
+import gobject
+import random
+import math
+
+import socket
+import struct
+import sys
+
+from socket import gethostname
+
+class Gcompris_chat:
+ """The chat activity"""
+
+ def __init__(self, gcomprisBoard):
+ self.gcomprisBoard = gcomprisBoard
+ self.rootitem = None
+
+ # Randon adress
+ self.mcast_adress = "227.234.253.9"
+
+ # These are used to let us restart only after the bonus is displayed.
+ # When the bonus is displayed, it call us first with pause(1) and then with pause(0)
+ self.board_paused = 0;
+ self.gamewon = False;
+
+
+ def start(self):
+ gcompris.bar_set (0)
+ gcompris.set_background(self.gcomprisBoard.canvas.root(),
+ gcompris.skin.image_to_skin("gcompris-bg.jpg"))
+ self.rootitem = self.gcomprisBoard.canvas.root().add(
+ gnomecanvas.CanvasGroup,
+ x=0.0,
+ y=0.0
+ )
+
+ # The global area
+ # ---------------
+ self.global_area_sw = gtk.ScrolledWindow()
+ self.global_area_sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_ALWAYS)
+ self.global_area_sw.set_shadow_type(gtk.SHADOW_ETCHED_OUT)
+
+ w = gcompris.BOARD_WIDTH - 240.0
+ h = gcompris.BOARD_HEIGHT - 100.0
+ y = 20.0 # The upper limit of the text boxes
+ x = 20.0
+
+ self.global_area_tb = gtk.TextBuffer()
+ self.global_area_tv = gtk.TextView(self.global_area_tb)
+ self.global_area_tv.set_editable(False)
+ self.global_area_sw.add(self.global_area_tv)
+
+ self.global_area_tb.set_text(_("All messages will be displayed here.\n"))
+
+ self.global_area_tv.set_wrap_mode(gtk.WRAP_CHAR)
+ self.rootitem.add(
+ gnomecanvas.CanvasWidget,
+ widget=self.global_area_sw,
+ x=x,
+ y=y,
+ width=w,
+ height= h,
+ anchor=gtk.ANCHOR_NW,
+ size_pixels=False)
+ self.global_area_tv.show()
+ self.global_area_sw.show()
+
+ # The friend area
+ # ---------------
+ self.friend_area_sw = gtk.ScrolledWindow()
+ self.friend_area_sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_ALWAYS)
+ self.friend_area_sw.set_shadow_type(gtk.SHADOW_ETCHED_OUT)
+
+ w = 160.0
+ h = gcompris.BOARD_HEIGHT - 100.0
+ y = 20.0 # The upper limit of the text boxes
+ x = gcompris.BOARD_WIDTH - w - 20.0
+
+ self.friend_area_tb = gtk.TextBuffer()
+ self.friend_area_tv = gtk.TextView(self.friend_area_tb)
+ self.friend_area_tv.set_editable(False)
+ self.friend_area_sw.add(self.friend_area_tv)
+
+ self.friend_list = []
+ self.friend_area_tb.set_text("")
+
+ self.friend_area_tv.set_wrap_mode(gtk.WRAP_CHAR)
+ self.rootitem.add(
+ gnomecanvas.CanvasWidget,
+ widget=self.friend_area_sw,
+ x=x,
+ y=y,
+ width=w,
+ height= h,
+ anchor=gtk.ANCHOR_NW,
+ size_pixels=False)
+ self.friend_area_tv.show()
+ self.friend_area_sw.show()
+
+ # A label for the friend area
+ self.rootitem.add(
+ gnomecanvas.CanvasText,
+ text=_("Your Friends"),
+ font = gcompris.skin.get_font("gcompris/board/medium"),
+ x=x+(w/2),
+ y=y+h+15,
+ anchor=gtk.ANCHOR_CENTER,
+ )
+
+ # the entry area
+ entry = gtk.Entry()
+ entry.connect("activate", self.enter_callback, entry)
+ w = gcompris.BOARD_WIDTH - 240
+ h = 30.0
+ y = gcompris.BOARD_HEIGHT - 60.0
+ x = 20.0
+
+ self.rootitem.add(
+ gnomecanvas.CanvasWidget,
+ widget=entry,
+ x=x,
+ y=y,
+ width=w,
+ height= h,
+ anchor=gtk.ANCHOR_NW,
+ size_pixels=False)
+
+ entry.show()
+ entry.set_text(_("Type here you message to GCompris users in your local network."))
+
+ # Start the server
+ self.sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
+ self.sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
+ self.sock.bind(('', 6543))
+ mreq = struct.pack('4sl', socket.inet_aton(self.mcast_adress), socket.INADDR_ANY)
+
+ self.sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
+ self.sock.setblocking(0)
+
+ self.timer_interval = 500
+ self.mcast_timer = gobject.timeout_add(self.timer_interval, self.mcast_read)
+
+ def end(self):
+ self.cleanup()
+
+ def ok(self):
+ print("Gcompris_chat ok.")
+
+ def key_press(self, keyval, commit_str, preedit_str):
+ #print("got key %i" % keyval)
+
+ return False
+
+ # Called by gcompris core
+ def pause(self, pause):
+
+ self.board_paused = pause
+
+ # When the bonus is displayed, it call us first with pause(1) and then with pause(0)
+ # the game is won
+ if(pause == 0 and self.gamewon):
+ self.finished()
+ self.gamewon = 0
+
+ return
+
+
+ # ----------------------------------------------------------------------
+ # ----------------------------------------------------------------------
+ # ----------------------------------------------------------------------
+
+
+ def cleanup(self):
+
+ self.gamewon = False;
+
+ if self.mcast_timer :
+ gobject.source_remove(self.mcast_timer)
+ self.mcast_timer = 0
+
+ self.sock.close()
+
+ # Remove the root item removes all the others inside it
+ if self.rootitem != None:
+ self.rootitem.destroy()
+ self.rootitem = None
+
+
+ def finished(self):
+ gcompris.bonus.board_finished(gcompris.bonus.FINISHED_RANDOM)
+
+ def mcast_read(self):
+
+ if not self.mcast_timer:
+ return
+
+ self.mcast_timer = gobject.timeout_add(self.timer_interval, self.mcast_read)
+
+ text = ""
+ try:
+ text = self.sock.recv(10240)
+ #print "Received text: %s\n" % text
+ except:
+ return
+
+ # Parse it
+ textl = text.split(":", 3)
+
+ # Is this a message for us
+ if(textl[0] != "GCOMPRIS"):
+ return
+
+ if(textl[1] != "CHAT"):
+ return
+
+ # Build the friend list
+ gotit = False
+ for name in self.friend_list:
+ if name == textl[2]:
+ gotit = True
+
+ if not gotit:
+ self.friend_list.append(textl[2])
+ self.friend_list.sort()
+
+ friends="\n"
+ friends = friends.join(self.friend_list)
+ self.friend_area_tb.set_text(friends)
+
+ # Display the message
+ self.global_area_tb.insert(self.global_area_tb.get_end_iter(),
+ textl[2] + " => " + textl[3] + "\n")
+
+ self.global_area_tv.scroll_to_iter(self.global_area_tb.get_end_iter(),
+ 0.0,
+ True,
+ 0,
+ 0)
+ return False
+
+ def enter_callback(self, widget, entry):
+ entry_text = entry.get_text()
+ sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM,
+ socket.IPPROTO_UDP)
+ sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 2)
+
+ # format the message
+ entry_text = "GCOMPRIS:CHAT:" + gethostname() + ":" + entry_text
+ sock.sendto(entry_text, (self.mcast_adress, 6543))
+ entry.set_text("")
+ sock.close()
diff --git a/src/boards/python/electric.py b/src/boards/python/electric.py
index 9e92e2e..b8174cc 100644
--- a/src/boards/python/electric.py
+++ b/src/boards/python/electric.py
@@ -177,7 +177,7 @@ class Gcompris_electric:
self.gamewon = False
if self.gnucap_timer :
- gtk.timeout_remove(self.gnucap_timer)
+ gobject.source_remove(self.gnucap_timer)
self.gnucap_timer = 0
# remove the appended items from our tools
@@ -339,11 +339,14 @@ class Gcompris_electric:
break
gnucap += " 1f\n"
+ gnucap_print = ""
for component in self.components:
if component.is_connected():
thisgnucap = component.to_gnucap("")
- gnucap += thisgnucap
+ gnucap += thisgnucap[0]
+ gnucap_print += thisgnucap[1]
+ gnucap += gnucap_print
gnucap += ".dc\n"
gnucap += ".end\n"
if debug: print gnucap
@@ -863,9 +866,8 @@ class Component(object):
gnucap += str(self.gnucap_value)
gnucap += "\n"
gnucap += model
- gnucap += ".print dc + v(%s) i(%s)\n" %(self.gnucap_name, self.gnucap_name)
- return gnucap
+ return [gnucap, ".print dc + v(%s) i(%s)\n" %(self.gnucap_name, self.gnucap_name)]
# Callback event to move the component
def component_move(self, widget, event, component):
@@ -992,8 +994,8 @@ class Diode(Component):
model = ".model ddd d ( is= 50.u rs= 0. n= 0.072 tt= 0. cjo= 1.p vj= 1. m= 0.5\n"
model += "+ eg= 1.11 xti= 3. kf= 0. af= 1. fc= 0.5 bv= 0. ibv= 0.001 )\n"
- gnucap = ""
- gnucap += super(Diode, self).to_gnucap(model)
+ gnucap = []
+ gnucap = super(Diode, self).to_gnucap(model)
return gnucap
# ----------------------------------------
@@ -1176,15 +1178,14 @@ class Switch2(Component):
gnucap += " "
gnucap += str(gnucap_value)
gnucap += "\n"
- gnucap += ".print dc + v(%s) i(%s)\n" %(gnucap_name, gnucap_name)
- return gnucap
+ return [gnucap, ".print dc + v(%s) i(%s)\n" %(gnucap_name, gnucap_name)]
# Return the gnucap definition for this component
# depending of the connected nodes, it create one or two resistor
def to_gnucap(self, model):
- gnucap = ""
+ gnucap = ["", ""]
# reset set_voltage_intensity counter
self.gnucap_current_resistor = 0
@@ -1193,18 +1194,22 @@ class Switch2(Component):
# top resistor
if self.nodes[0].get_wires() and \
self.nodes[1].get_wires():
- gnucap += self.to_gnucap_res(self.gnucap_name + "_top", 0, 1,
- self.value_top)
+ gnucap_resp = self.to_gnucap_res(self.gnucap_name + "_top", 0, 1,
+ self.value_top)
+ gnucap[0] += gnucap_resp[0]
+ gnucap[1] += gnucap_resp[1]
self.gnucap_nb_resistor += 1
# bottom resistor
if self.nodes[0].get_wires() and \
self.nodes[2].get_wires():
- gnucap += self.to_gnucap_res(self.gnucap_name + "_bot", 0, 2,
- self.value_bottom)
+ gnucap_resp = self.to_gnucap_res(self.gnucap_name + "_bot", 0, 2,
+ self.value_bottom)
+ gnucap[0] += gnucap_resp[0]
+ gnucap[1] += gnucap_resp[1]
self.gnucap_nb_resistor += 1
- return gnucap
+ return [gnucap[0], gnucap[1]]
# Return False if we need more value to complete our component
# This is usefull in case where one Component is made of several gnucap component
@@ -1347,7 +1352,7 @@ class Rheostat(Component):
node = self.nodes[i]
if not node.get_wires():
gnucap = "* %s: component ignored: not connected\n" %(gnucap_name)
- return gnucap
+ return [gnucap, ""]
gnucap = gnucap_name
gnucap += " "
@@ -1362,15 +1367,14 @@ class Rheostat(Component):
gnucap += " "
gnucap += str(gnucap_value)
gnucap += "\n"
- gnucap += ".print dc + v(%s) i(%s)\n" %(gnucap_name, gnucap_name)
- return gnucap
+ return [gnucap, ".print dc + v(%s) i(%s)\n" %(gnucap_name, gnucap_name)]
# Return the gnucap definition for this component
# depending of the connected nodes, it create one or two resistor
def to_gnucap(self, model):
- gnucap = ""
+ gnucap = ["", ""]
# reset set_voltage_intensity counter
self.gnucap_current_resistor = 0
@@ -1384,9 +1388,11 @@ class Rheostat(Component):
not self.nodes[1].get_wires() and \
self.nodes[2].get_wires():
self.gnucap_nb_resistor = 1
- gnucap += self.to_gnucap_res(self.gnucap_name + "_all", 0, 2,
- self.resitance)
- return gnucap
+ gnucap_resp = self.to_gnucap_res(self.gnucap_name + "_all", 0, 2,
+ self.resitance)
+ gnucap[0] += gnucap_resp[0]
+ gnucap[1] += gnucap_resp[1]
+ return [gnucap[0], gnucap[1]]
self.gnucap_nb_resistor = 0
@@ -1395,17 +1401,21 @@ class Rheostat(Component):
if self.nodes[0].get_wires() and \
self.nodes[1].get_wires():
self.gnucap_nb_resistor += 1
- gnucap += self.to_gnucap_res(self.gnucap_name + "_top", 0, 1,
- gnucap_value)
+ gnucap_resp = self.to_gnucap_res(self.gnucap_name + "_top", 0, 1,
+ gnucap_value)
+ gnucap[0] += gnucap_resp[0]
+ gnucap[1] += gnucap_resp[1]
# bottom resistor
if self.nodes[1].get_wires() and \
self.nodes[2].get_wires():
self.gnucap_nb_resistor += 1
- gnucap += self.to_gnucap_res(self.gnucap_name + "_bot", 1, 2,
- self.resitance - gnucap_value)
+ gnucap_resp = self.to_gnucap_res(self.gnucap_name + "_bot", 1, 2,
+ self.resitance - gnucap_value)
+ gnucap[0] += gnucap_resp[0]
+ gnucap[1] += gnucap_resp[1]
- return gnucap
+ return [gnucap[0], gnucap[1]]
# Return False if we need more value to complete our component
# This is usefull in case one Component is made of several gnucap component
diff --git a/src/boards/python/followline.py b/src/boards/python/followline.py
index 9d180b1..336288d 100644
--- a/src/boards/python/followline.py
+++ b/src/boards/python/followline.py
@@ -1,3 +1,21 @@
+# gcompris - administration.py
+#
+# Copyright (C) 2005 Bruno Coudoin
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
# Follow Line Board module
import gobject
import gnomecanvas
@@ -5,6 +23,7 @@ import gcompris
import gcompris.skin
import gcompris.bonus
import gcompris.utils
+import gcompris.sound
import gtk
import gtk.gdk
import random
@@ -37,6 +56,9 @@ class Gcompris_followline:
def start(self):
+ self.saved_policy = gcompris.sound.policy_get()
+ gcompris.sound.policy_set(gcompris.sound.PLAY_AND_INTERRUPT)
+
self.gcomprisBoard.level=1
self.gcomprisBoard.maxlevel=9
self.gcomprisBoard.sublevel=1
@@ -61,6 +83,8 @@ class Gcompris_followline:
# Disconnect from the background item
self.background_item.disconnect(self.background_item_connect_id)
+ gcompris.sound.policy_set(self.saved_policy)
+
def ok(self):
print("Gcompris_followline ok.")
@@ -261,10 +285,15 @@ class Gcompris_followline:
item.set_data("gotit", False)
previous_item.set_data("iamnext", True);
+ else:
+ self.state = "Ready"
+
return
previous_item = item
+ def lauch_bonus(self):
+ gcompris.bonus.display(gcompris.bonus.WIN, gcompris.bonus.FLOWER)
def is_done(self):
done = True
@@ -273,13 +302,14 @@ class Gcompris_followline:
done = False
if(done):
+ gcompris.sound.play_ogg("sounds/bubble.wav")
# This is a win
if (self.increment_level() == 1):
self.state = "Done"
self.gamewon = 1
self.water_spot.raise_to_top()
self.water_spot.show()
- gcompris.bonus.display(gcompris.bonus.WIN, gcompris.bonus.FLOWER)
+ gtk.timeout_add(1500, self.lauch_bonus)
return done
@@ -287,6 +317,7 @@ class Gcompris_followline:
if(self.state == "Started"):
self.loosing_count += 1
if(self.loosing_count % 10):
+ gcompris.sound.play_ogg("sounds/smudge.wav")
self.highlight_previous_line()
return False
@@ -294,6 +325,7 @@ class Gcompris_followline:
def line_item_event(self, widget, event=None):
if not self.board_paused and widget.get_data("iamnext") == True:
# The first line touch means the game is started
+ gcompris.sound.play_ogg("sounds/drip.wav")
self.state = "Started"
widget.set(
fill_color_rgba = self.color_full,
diff --git a/src/boards/python/gnumch.py b/src/boards/python/gnumch.py
index b446752..018bbb8 100644
--- a/src/boards/python/gnumch.py
+++ b/src/boards/python/gnumch.py
@@ -20,6 +20,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
+import gobject
import gnomecanvas
import gcompris
import gcompris.utils
@@ -27,6 +28,7 @@ import gcompris.skin
import gcompris.bonus
import gcompris.score
import gcompris.anim
+import gcompris.sound
import gobject
import gtk
import gtk.gdk
@@ -324,10 +326,10 @@ class Player(object):
def die(self):
if self.movestep_timer != 0:
- gtk.timeout_remove(self.movestep_timer)
+ gobject.source_remove(self.movestep_timer)
self.movestep_timer = 0
if self.munch_timer != 0:
- gtk.timeout_remove(self.munch_timer)
+ gobject.source_remove(self.munch_timer)
self.munch_timer = 0
def getEaten(self):
@@ -362,6 +364,7 @@ class Player(object):
return ret
def move(self, x_old, y_old, x, y):
+ gcompris.sound.play_ogg("sounds/smudge.wav")
self.x_old = x_old
self.y_old = y_old
self.x = x
@@ -379,6 +382,7 @@ class Player(object):
self.stop()
def startMunching(self):
+ gcompris.sound.play_ogg("sounds/eat.wav")
self.anim.setState(2)
self.munch_timer = game.timeout_add(game.munch_time, self.stopMunching)
return False
@@ -544,7 +548,7 @@ class Troggle(Player):
self.nextspawn_timer = game.timeout_add( time + game.trogwarn_time, self.spawn )
self.warn_timer = game.timeout_add( time, game.show_trogwarning )
if self.nextmove_timer != 0:
- gtk.timeout_remove(self.nextmove_timer)
+ gobject.source_remove(self.nextmove_timer)
self.nextmove_timer = 0
def getEaten(self):
@@ -848,14 +852,14 @@ class Gcompris_gnumch:
def stopGame(self):
self.stopped = 1
if self.muncher.munch_timer != 0:
- gtk.timeout_remove(self.muncher.munch_timer)
+ gobject.source_remove(self.muncher.munch_timer)
if self.muncher.movestep_timer != 0:
- gtk.timeout_remove(self.muncher.movestep_timer)
+ gobject.source_remove(self.muncher.movestep_timer)
for t in self.troggles:
for timer in [t.munch_timer, t.movestep_timer, t.nextmove_timer, t.nextspawn_timer, t.warn_timer]:
if timer != 0:
- gtk.timeout_remove(timer)
+ gobject.source_remove(timer)
def startGame(self):
self.stopped = 0
@@ -916,7 +920,7 @@ class Gcompris_gnumch:
def timeout_add(self, t, fn):
if not self.paused and not self.stopped:
- return gtk.timeout_add(t, fn)
+ return gobject.timeout_add(t, fn)
else:
return 0
diff --git a/src/boards/python/hexagon.py b/src/boards/python/hexagon.py
index 24c7ea5..a15d2a4 100644
--- a/src/boards/python/hexagon.py
+++ b/src/boards/python/hexagon.py
@@ -23,6 +23,7 @@ import gcompris
import gcompris.utils
import gcompris.bonus
import gcompris.skin
+import gcompris.sound
import gtk
import gtk.gdk
import random
@@ -147,16 +148,20 @@ class Gcompris_hexagon:
def on_click (self, widget, event=None, x=0, y=0):
if event.type == gtk.gdk.BUTTON_PRESS and event.button == 1 :
- catdistance = self.distance_cat(x,y)
- #print self.random_catx, self.random_caty,x,y,catdistance
+ catdistance = self.distance_cat(x,y)
+ #print self.random_catx, self.random_caty,x,y,catdistance
- if catdistance<0.1:
- self.paint_cat()
- self.gamewon = True;
- gcompris.bonus.display(gcompris.bonus.WIN, gcompris.bonus.GNU)
- else:
- color = self.coloring (catdistance/30.0)
- widget.set(fill_color_rgba=color);
+ if catdistance<0.1:
+ gcompris.sound.play_ogg("sounds/smudge.wav")
+
+ self.paint_cat()
+ self.gamewon = True;
+ gcompris.bonus.display(gcompris.bonus.WIN, gcompris.bonus.GNU)
+ else:
+ gcompris.sound.play_ogg("sounds/bleep.wav")
+
+ color = self.coloring (catdistance/30.0)
+ widget.set(fill_color_rgba=color);
def paint_cat(self):
diff --git a/src/boards/python/melody.py b/src/boards/python/melody.py
index d43586a..cd4fcbd 100644
--- a/src/boards/python/melody.py
+++ b/src/boards/python/melody.py
@@ -148,6 +148,8 @@ class Gcompris_melody:
self.melodylist[self.theme][0]['background'])
gcompris.bar_set_level(self.gcomprisBoard)
+ gcompris.sound.policy_set(gcompris.sound.PLAY_AND_INTERRUPT)
+
# Create our rootitem. We put each canvas item in it so at the end we
# only have to kill it. The canvas deletes all the items it contains automaticaly.
self.rootitem = self.gcomprisBoard.canvas.root().add(
@@ -206,6 +208,7 @@ class Gcompris_melody:
if self.kidstry == self.solution :
if (self.increment_level() == 1):
self.gamewon = 1
+ gcompris.sound.policy_set(self.saved_policy)
gcompris.bonus.display(1, gcompris.bonus.FLOWER)
diff --git a/src/boards/python/mosaic.py b/src/boards/python/mosaic.py
index 6808537..7dcfb9b 100644
--- a/src/boards/python/mosaic.py
+++ b/src/boards/python/mosaic.py
@@ -23,6 +23,7 @@ import gcompris.utils
import gcompris.skin
import gcompris.admin
import gcompris.bonus
+import gcompris.sound
import gtk
import gtk.gdk
import random
@@ -342,6 +343,7 @@ class Gcompris_mosaic:
if event.type == gtk.gdk.BUTTON_PRESS:
# A color is selected
+ gcompris.sound.play_ogg("sounds/bleep.wav");
if(self.current_index_x >= 0):
image = palette.subpixbuf(self.current_index_x * self.palette_item_width,
@@ -363,6 +365,7 @@ class Gcompris_mosaic:
def set_color_item_event(self, item, event, data):
if event.type == gtk.gdk.BUTTON_PRESS:
+ gcompris.sound.play_ogg("sounds/paint1.wav");
(box_item, color_index_x, color_index_y, coord_x, coord_y) = data
self.current_index_x = color_index_x
diff --git a/src/boards/python/tuxpaint.py b/src/boards/python/tuxpaint.py
index dea43b6..9160375 100644
--- a/src/boards/python/tuxpaint.py
+++ b/src/boards/python/tuxpaint.py
@@ -52,7 +52,7 @@ class Gcompris_tuxpaint:
def start(self):
progname='tuxpaint'
tuxpaint_dir = None
- flags = gobject.SPAWN_DO_NOT_REAP_CHILD | gobject.SPAWN_SEARCH_PATH
+ flags = gobject.SPAWN_DO_NOT_REAP_CHILD | gobject.SPAWN_SEARCH_PATH
print platform.platform(), platform.platform().split('-')[0]
if (platform.platform().split('-')[0] == 'Windows'):
@@ -61,7 +61,7 @@ class Gcompris_tuxpaint:
try:
import _winreg
- tuxpaint_key = _winreg.OpenKey( _winreg.HKEY_LOCAL_MACHINE,
+ tuxpaint_key = _winreg.OpenKey( _winreg.HKEY_LOCAL_MACHINE,
"Software\\TuxPaint" )
tuxpaint_dir, type = _winreg.QueryValueEx(tuxpaint_key, "Install_Dir")
flags = gobject.SPAWN_DO_NOT_REAP_CHILD
@@ -131,13 +131,13 @@ class Gcompris_tuxpaint:
# bug in working_directory=None ?
if (tuxpaint_dir):
pid, stdin, stdout, stderr = gobject.spawn_async(
- argv=options,
+ argv=options,
flags=flags,
working_directory=tuxpaint_dir)
else:
pid, stdin, stdout, stderr = gobject.spawn_async(
- argv=options,
+ argv=options,
flags=flags)
except:
@@ -189,11 +189,9 @@ class Gcompris_tuxpaint:
pass
def config(self):
- print "Config"
pass
def config_stop(self):
- print "config_stop", self
pass
def config_start(self, profile):
@@ -235,7 +233,6 @@ class Gcompris_tuxpaint:
self.stamps_control.set_sensitive(not button.get_active())
def apply_callback(self,table):
- print table
for key,value in table.iteritems():
gcompris.set_board_conf(self.configure_profile, self.gcomprisBoard, key, value)
@@ -260,8 +257,6 @@ def child_callback(fd, cond, data):
data.window.unfullscreen()
data.window.fullscreen()
- gcompris.sound.reopen()
-
global pid
pid = None
gcompris.bar_hide(0)
diff --git a/src/boards/python/watercycle.py b/src/boards/python/watercycle.py
index 1d590ff..f612882 100644
--- a/src/boards/python/watercycle.py
+++ b/src/boards/python/watercycle.py
@@ -18,11 +18,13 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
+import gobject
import gnomecanvas
import gcompris
import gcompris.utils
import gcompris.anim
import gcompris.skin
+import gcompris.sound
import gtk
import gtk.gdk
@@ -60,6 +62,8 @@ class Gcompris_watercycle:
"watercycle/background.png")
gcompris.bar_set_level(self.gcomprisBoard)
+ gcompris.sound.play_ogg("sounds/Harbor1.wav", "sounds/Harbor3.wav")
+
# Create our rootitem. We put each canvas item in it so at the end we
# only have to kill it. The canvas deletes all the items it contains automaticaly.
self.rootitem = self.gcomprisBoard.canvas.root().add(
@@ -256,7 +260,7 @@ class Gcompris_watercycle:
self.waterlevel_max = 65
self.waterlevel_min = 85
self.waterlevel = self.waterlevel_min
- self.waterlevel_timer = gtk.timeout_add(1000, self.update_waterlevel)
+ self.waterlevel_timer = gobject.timeout_add(1000, self.update_waterlevel)
self.waterlevel_item = self.rootitem.add(
gnomecanvas.CanvasLine,
@@ -279,15 +283,15 @@ class Gcompris_watercycle:
def end(self):
# Remove all the timer first
if self.boat_timer :
- gtk.timeout_remove(self.boat_timer)
+ gobject.source_remove(self.boat_timer)
if self.sun_timer :
- gtk.timeout_remove(self.sun_timer)
+ gobject.source_remove(self.sun_timer)
if self.vapor_timer :
- gtk.timeout_remove(self.vapor_timer)
+ gobject.source_remove(self.vapor_timer)
if self.cloud_timer :
- gtk.timeout_remove(self.cloud_timer)
+ gobject.source_remove(self.cloud_timer)
if self.waterlevel_timer :
- gtk.timeout_remove(self.waterlevel_timer)
+ gobject.source_remove(self.waterlevel_timer)
# Remove the root item removes all the others inside it
self.rootitem.destroy()
@@ -340,7 +344,7 @@ class Gcompris_watercycle:
self.showerbutton = 0
self.shower_water_update()
- self.waterlevel_timer = gtk.timeout_add(1000, self.update_waterlevel)
+ self.waterlevel_timer = gobject.timeout_add(1000, self.update_waterlevel)
def set_cleanwater(self, status):
@@ -362,13 +366,13 @@ class Gcompris_watercycle:
self.boat_timerinc+=50
self.tuxboatcanvas.move(2, 0)
- self.boat_timer = gtk.timeout_add(self.boat_timerinc, self.move_boat)
+ self.boat_timer = gobject.timeout_add(self.boat_timerinc, self.move_boat)
else:
if self.tuxboatcanvas.get_bounds()[2] < 800 :
# Park the boat
self.tuxboatcanvas.move(0.7, -0.7)
self.tuxboatitem.setState(1)
- self.boat_timer = gtk.timeout_add(self.timerinc, self.move_boat)
+ self.boat_timer = gobject.timeout_add(self.timerinc, self.move_boat)
else :
# We are parked, change the boat to remove tux
#self.tuxboatcanvas.set(
@@ -379,6 +383,7 @@ class Gcompris_watercycle:
# height_set = 1,
# )
self.tuxboatitem.setState(2)
+ gcompris.sound.play_ogg("sounds/Harbor3.wav")
# Now display tux in the shower
self.tuxshoweritem.show()
@@ -414,7 +419,7 @@ class Gcompris_watercycle:
self.clouditem.hide()
self.rainitem.hide()
else:
- self.cloud_timer = gtk.timeout_add(self.timerinc, self.move_cloud)
+ self.cloud_timer = gobject.timeout_add(self.timerinc, self.move_cloud)
def init_vapor(self):
self.vapor_on = 1
@@ -426,24 +431,24 @@ class Gcompris_watercycle:
if( self.vaporitem.get_bounds()[1] < 20 ) :
self.vaporitem.move(0, +100);
- self.vapor_timer = gtk.timeout_add(self.timerinc, self.move_vapor)
+ self.vapor_timer = gobject.timeout_add(self.timerinc, self.move_vapor)
def move_sun(self):
self.sunitem.move(0, self.sun_direction);
if( (self.sunitem.get_bounds()[1] > 0 and
self.sunitem.get_bounds()[1] < 70 ) ) :
- self.sun_timer = gtk.timeout_add(self.timerinc, self.move_sun)
+ self.sun_timer = gobject.timeout_add(self.timerinc, self.move_sun)
else :
# The sun is at is top
if(self.sun_direction < 0) :
# Stop the sun
- self.sun_timer = gtk.timeout_add(15000, self.move_sun)
+ self.sun_timer = gobject.timeout_add(15000, self.move_sun)
# Start the vapor
- self.vapor_timer = gtk.timeout_add(5000 , self.init_vapor)
+ self.vapor_timer = gobject.timeout_add(5000 , self.init_vapor)
self.vapor_on = 1
# Start the cloud
if(not self.cloud_on):
- self.cloud_timer = gtk.timeout_add(10000, self.move_cloud)
+ self.cloud_timer = gobject.timeout_add(10000, self.move_cloud)
self.cloud_on = 1
# Remove the snow
self.snowitem.hide()
@@ -467,7 +472,8 @@ class Gcompris_watercycle:
if event.type == gtk.gdk.BUTTON_PRESS:
if event.button == 1:
if not self.sun_on :
- self.sun_timer = gtk.timeout_add(self.timerinc, self.move_sun)
+ gcompris.sound.play_ogg("sounds/bleep.wav")
+ self.sun_timer = gobject.timeout_add(self.timerinc, self.move_sun)
self.sun_on = 1
return True
return False
@@ -475,6 +481,7 @@ class Gcompris_watercycle:
def cloud_item_event(self, widget, event=None):
if event.type == gtk.gdk.BUTTON_PRESS:
if event.button == 1:
+ gcompris.sound.play_ogg("sounds/Water5.wav")
self.rain_on = 1
return True
return False
@@ -483,6 +490,7 @@ class Gcompris_watercycle:
if event.type == gtk.gdk.BUTTON_PRESS:
if event.button == 1:
if self.riverfull:
+ gcompris.sound.play_ogg("sounds/bubble.wav")
self.waterpump_on = 1
self.pumpwateritem.set(pixbuf = gcompris.utils.load_pixmap("watercycle/pumpwater.png"));
return True
@@ -492,6 +500,7 @@ class Gcompris_watercycle:
if event.type == gtk.gdk.BUTTON_PRESS:
if event.button == 1:
if self.waterpump_on:
+ gcompris.sound.play_ogg("sounds/bubble.wav")
self.watercleaning_on = 1
self.badwateritem.set(pixbuf = gcompris.utils.load_pixmap("watercycle/badwater.png"));
return True
@@ -524,9 +533,11 @@ class Gcompris_watercycle:
if event.type == gtk.gdk.BUTTON_PRESS:
if event.button == 1:
if self.showerbutton:
+ gcompris.sound.play_ogg("sounds/bleep.wav")
self.showerbuttonitem_on.hide()
self.showerbuttonitem_off.show()
else:
+ gcompris.sound.play_ogg("sounds/apert2.wav")
self.showerbuttonitem_on.show()
self.showerbuttonitem_off.hide()
diff --git a/src/boards/railroad.c b/src/boards/railroad.c
index 76c0ccc..5bed4de 100644
--- a/src/boards/railroad.c
+++ b/src/boards/railroad.c
@@ -461,6 +461,7 @@ static gint item_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data) {
{
case GDK_BUTTON_PRESS:
g_warning("GDK_BUTTON_PRESS item %d\tlength answer = %d\n",item_number,g_list_length(item_answer_list));
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
xOffset = 0;
for (i=0; i<g_list_length(item_answer_list); i++) {
gnome_canvas_item_get_bounds(g_list_nth_data(item_answer_list,i), &dx1, &dy1, &dx2, &dy2);
@@ -509,6 +510,7 @@ static gint answer_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data)
switch (event->type)
{
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/smudge.wav", NULL);
g_warning("Deleting %d\n",item_number);
local_item = g_list_nth_data(item_answer_list,item_number);
item_answer_list = g_list_remove( item_answer_list, local_item );
diff --git a/src/boards/read_colors.c b/src/boards/read_colors.c
index 06caa2f..d24fe1e 100644
--- a/src/boards/read_colors.c
+++ b/src/boards/read_colors.c
@@ -371,6 +371,7 @@ static gint item_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data) {
}
if (clicked >= 0) {
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
board_paused = TRUE;
highlight_selected(clicked);
gamewon = (clicked == GPOINTER_TO_INT(g_list_nth_data(listColors,0)));
diff --git a/src/boards/scale.c b/src/boards/scale.c
new file mode 100644
index 0000000..5ab63ee
--- /dev/null
+++ b/src/boards/scale.c
@@ -0,0 +1,862 @@
+/* gcompris - scale.c
+ *
+ * Copyright (C) 2006 Miguel de Izarra
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "gcompris/gcompris.h"
+#include <string.h> // for strcmp
+
+#define SOUNDLISTFILE PACKAGE
+
+static GcomprisBoard *gcomprisBoard = NULL;
+static gboolean board_paused = TRUE;
+
+static void start_board (GcomprisBoard *agcomprisBoard);
+static void pause_board (gboolean pause);
+static void end_board (void);
+static gboolean is_our_board (GcomprisBoard *gcomprisBoard);
+static void config_start(GcomprisBoard *agcomprisBoard,
+ GcomprisProfile *aProfile);
+static void config_stop();
+static void set_level (guint level);
+static gint key_press(guint keyval, gchar *commit_str, gchar *preedit_str);
+static void process_ok(void);
+static int gamewon;
+static void game_won(void);
+
+static GnomeCanvasGroup *boardRootItem = NULL;
+static GnomeCanvasGroup *group_g = NULL, *group_d= NULL;
+static GnomeCanvasItem *bras = NULL;
+static GnomeCanvasItem *answer_item = NULL;
+GString *answer_string = NULL;
+
+static void scale_destroy_all_items(void);
+static void scale_next_level(void);
+
+#define ITEM_X_MIN 0
+#define ITEM_X_MAX 500
+#define ITEM_Y_MIN 250
+#define ITEM_Y_MAX 400
+#define ITEM_W 45
+#define ITEM_H 70
+
+#define PLATEAU_X1 -40.0
+#define PLATEAU_X2 246.0
+#define PLATEAU_Y 33.0
+#define PLATEAU_Y_DELTA 15.0
+#define PLATEAU_W 190.0
+
+#define BRAS_X 55.0
+#define BRAS_Y -6.0
+
+#define PLATEAU_SIZE 4 // number of place in the plateau
+
+typedef struct {
+ GnomeCanvasItem * item;
+ double x, y;
+ int plateau; // 0 not place, 1 in plateau_g, -1 in plateau_d
+ int plateau_index; // position in the plateau
+ int weight;
+} ScaleItem;
+
+static GList *item_list = NULL;
+static int objet_weight = 0;
+
+static gint drag_mode;
+static const char *imageList[] = {
+ "gcompris/food/chocolate_cake.png",
+ "gcompris/food/pear.png",
+ "gcompris/food/orange.png",
+ "gcompris/food/suggar_box.png",
+ "gcompris/misc/flowerpot.png",
+ "gcompris/misc/glass.png"
+};
+
+static const int imageListCount = G_N_ELEMENTS(imageList);
+
+static int scale_drag_event(GnomeCanvasItem *w, GdkEvent *event, ScaleItem *item);
+
+/* Description of this plugin */
+static BoardPlugin menu_bp =
+{
+ NULL,
+ NULL,
+ "Scale",
+ "Balance the scales properly",
+ "Miguel de Izarra <miguel2i@free.fr>",
+ NULL,
+ NULL,
+ NULL,
+ NULL,
+ start_board,
+ pause_board,
+ end_board,
+ is_our_board,
+ key_press,
+ process_ok,
+ set_level,
+ NULL,
+ NULL,
+ config_start,
+ config_stop
+};
+
+/*
+ * Main entry point mandatory for each Gcompris's game
+ * ---------------------------------------------------
+ *
+ */
+
+GET_BPLUGIN_INFO(scale)
+
+/*
+ * in : boolean TRUE = PAUSE : FALSE = CONTINUE
+ *
+ */
+static void pause_board (gboolean pause)
+{
+ if(gcomprisBoard==NULL)
+ return;
+
+ if(gamewon == TRUE && pause == FALSE) /* the game is won */
+ {
+ game_won();
+ }
+
+ board_paused = pause;
+}
+
+static void start_board (GcomprisBoard *agcomprisBoard)
+{
+ if(agcomprisBoard!=NULL)
+ {
+ gcomprisBoard=agcomprisBoard;
+ gcomprisBoard->level=1;
+ gcomprisBoard->sublevel=1;
+ gcomprisBoard->number_of_sublevel=9; /* Go to next level after this number of 'play' */
+ gcomprisBoard->maxlevel = 4;
+ gc_bar_set(GC_BAR_LEVEL|GC_BAR_OK|GC_BAR_CONFIG);
+
+ scale_next_level();
+
+ gamewon = FALSE;
+ pause_board(FALSE);
+
+ GHashTable *config = gc_db_get_board_conf();
+ gchar *drag_mode_str = g_hash_table_lookup( config, "drag_mode");
+
+ if (drag_mode_str && (strcmp (drag_mode_str, "NULL") != 0))
+ drag_mode = g_ascii_strtod(drag_mode_str, NULL);
+ else
+ drag_mode = 0;
+
+ gc_set_background(gnome_canvas_root(gcomprisBoard->canvas),
+ "scales/tabepice.jpg");
+
+ gc_drag_start(gnome_canvas_root(gcomprisBoard->canvas),
+ (gc_Drag_Func)scale_drag_event, drag_mode);
+ }
+}
+
+static void end_board ()
+{
+ if(gcomprisBoard!=NULL)
+ {
+ gc_drag_stop(gnome_canvas_root(gcomprisBoard->canvas));
+ pause_board(TRUE);
+ scale_destroy_all_items();
+ }
+ gcomprisBoard = NULL;
+}
+
+/* ======================================= */
+static void set_level (guint level)
+{
+
+ if(gcomprisBoard!=NULL)
+ {
+ gcomprisBoard->level=level;
+ gcomprisBoard->sublevel=1;
+ scale_next_level();
+ }
+}
+/* ======================================= */
+gboolean is_our_board (GcomprisBoard *gcomprisBoard)
+{
+ if (gcomprisBoard)
+ if(g_strcasecmp(gcomprisBoard->type, "scale")==0)
+ {
+ /* Set the plugin entry */
+ gcomprisBoard->plugin=&menu_bp;
+
+ return TRUE;
+ }
+ return FALSE;
+}
+
+/* ======================================= */
+static gint key_press(guint keyval, gchar *commit_str, gchar *preedit_str)
+{
+ if(!gcomprisBoard)
+ return FALSE;
+
+ /* Add some filter for control and shift key */
+ switch (keyval)
+ {
+ /* Avoid all this keys to be interpreted by this game */
+ case GDK_Shift_L:
+ case GDK_Shift_R:
+ case GDK_Control_L:
+ case GDK_Control_R:
+ case GDK_Caps_Lock:
+ case GDK_Shift_Lock:
+ case GDK_Meta_L:
+ case GDK_Meta_R:
+ case GDK_Alt_L:
+ case GDK_Alt_R:
+ case GDK_Super_L:
+ case GDK_Super_R:
+ case GDK_Hyper_L:
+ case GDK_Hyper_R:
+ case GDK_Num_Lock:
+ return FALSE;
+ case GDK_KP_Enter:
+ case GDK_Return:
+ process_ok();
+ return TRUE;
+ case GDK_Right:
+ case GDK_Left:
+ break;
+ case GDK_BackSpace:
+ if(answer_string)
+ g_string_truncate(answer_string, answer_string->len -1);
+ break;
+ }
+
+ if(answer_string)
+ {
+ gchar *tmpstr;
+ gchar c = commit_str ? commit_str[0] : 0;
+
+ /* Limit the user entry to 5 digits */
+ if(c>='0' && c<='9' && answer_string->len < 5)
+ answer_string = g_string_append_c(answer_string, c);
+
+ tmpstr = g_strdup_printf(_("Weight = %s"), answer_string->str);
+ gnome_canvas_item_set(answer_item,
+ "text", tmpstr,
+ NULL);
+ g_free(tmpstr);
+ }
+
+ return TRUE;
+}
+
+// plateau = 1 plateau g
+// plateau = -1 plateau d
+// plateau = 0 plateau g - plateau d
+int get_weight_plateau(int plateau)
+{
+ GList *list;
+ ScaleItem *item;
+ int result=0;
+
+ for(list = item_list; list; list=list->next)
+ {
+ item = list->data;
+ if(item->plateau == plateau || plateau==0)
+ {
+ result+= item->weight * item->plateau;
+ }
+ }
+ if(plateau==-1)
+ result = -result;
+ return result;
+}
+
+void scale_anim_plateau(void)
+{
+ double affine[6];
+ double delta_y, x;
+ double angle;
+ int diff;
+
+ diff = get_weight_plateau(0);
+ delta_y = CLAMP(PLATEAU_Y_DELTA / 10.0 * diff,
+ -PLATEAU_Y_DELTA, PLATEAU_Y_DELTA);
+ if(get_weight_plateau(1)==0)
+ delta_y = -PLATEAU_Y_DELTA;
+ angle = tan(delta_y / 138) * 180 / M_PI;
+
+ gtk_object_get (GTK_OBJECT (group_g), "x", &x, NULL);
+ art_affine_translate(affine, x, delta_y);
+ gnome_canvas_item_affine_absolute(GNOME_CANVAS_ITEM(group_g), affine);
+
+ gtk_object_get (GTK_OBJECT (group_d), "x", &x, NULL);
+ art_affine_translate(affine, x, -delta_y);
+ gnome_canvas_item_affine_absolute(GNOME_CANVAS_ITEM(group_d), affine);
+
+ gc_item_rotate_with_center(bras, -angle, 138, 84);
+
+ if(diff ==0 && (gcomprisBoard->level == 2 || gcomprisBoard->level == 4))
+ {
+ GdkPixbuf *button_pixmap;
+ double x_offset = 40, y_offset = 150;
+
+ button_pixmap = gc_skin_pixmap_load("button_large2.png");
+ gnome_canvas_item_new (boardRootItem,
+ gnome_canvas_pixbuf_get_type (),
+ "pixbuf", button_pixmap,
+ "x", x_offset,
+ "y", y_offset,
+ NULL);
+ answer_item = gnome_canvas_item_new(boardRootItem,
+ gnome_canvas_text_get_type(),
+ "font", gc_skin_font_board_title_bold,
+ "x", x_offset + gdk_pixbuf_get_width(button_pixmap)/2,
+ "y", y_offset + gdk_pixbuf_get_height(button_pixmap)/2,
+ "anchor", GTK_ANCHOR_CENTER,
+ "fill_color", "black",
+ NULL);
+ gdk_pixbuf_unref(button_pixmap);
+
+ answer_string = g_string_new(NULL);
+ key_press(0,NULL,NULL);
+ }
+}
+
+// if plateau = 1 , move to plateau g
+// if plateau = -1, move to plateau d
+// if plateau = 0 , move to the item list
+void scale_item_move_to(ScaleItem *item, int plateau)
+{
+ ScaleItem *scale;
+ GList *list;
+ gboolean found;
+ int index;
+
+ if(plateau!=0)
+ {
+ if(item->plateau)
+ item->plateau_index = -1;
+ // find the first free place in the plateau
+ for(index=0; index < PLATEAU_SIZE; index ++)
+ {
+ found = FALSE;
+ for(list = item_list; list; list = list->next)
+ {
+ scale = list->data;
+ if(scale->plateau_index == index && scale->plateau == plateau)
+ found=TRUE;
+ }
+ if(!found)
+ { // move to the plateau
+ item->plateau = plateau;
+ item->plateau_index=index;
+ gnome_canvas_item_reparent(item->item, plateau == 1 ? group_g : group_d);
+ gnome_canvas_item_set(item->item,
+ "x", (double)index * ITEM_W,
+ "y", (double)PLATEAU_Y-ITEM_H + 5,
+ NULL);
+ break;
+ }
+ }
+ if(found) // can't find place
+ plateau=0;
+ }
+ if(plateau==0)
+ { // move the item to the list
+ item->plateau = 0;
+ gnome_canvas_item_reparent(item->item, boardRootItem);
+ gnome_canvas_item_set(item->item,
+ "x", item->x,
+ "y", item->y, NULL);
+ }
+ scale_anim_plateau();
+}
+
+static int scale_item_event(GnomeCanvasItem *w, GdkEvent *event, ScaleItem *scale)
+{
+ if(answer_string)
+ return FALSE;
+
+ if(event->type == GDK_BUTTON_PRESS && event->button.button==3)
+ scale_item_move_to(scale, 0);
+ return FALSE;
+}
+
+static int scale_drag_event(GnomeCanvasItem *w, GdkEvent *event, ScaleItem *scale)
+{
+ int plateau=0;
+ double x,y;
+
+ if(answer_string) // disable, waiting a answer
+ return FALSE;
+
+ switch(event->type)
+ {
+ case GDK_BUTTON_PRESS:
+ gc_drag_offset_save(event);
+ g_object_get(G_OBJECT(scale->item), "x", &x, "y", &y, NULL);
+ gnome_canvas_item_i2w(scale->item, &x,&y);
+ gnome_canvas_item_reparent(scale->item,boardRootItem);
+ gnome_canvas_item_w2i(scale->item, &x, &y);
+ gnome_canvas_item_set(scale->item, "x", x, "y", y, NULL);
+ break;
+ case GDK_MOTION_NOTIFY:
+ gc_drag_item_move(event);
+ break;
+ case GDK_BUTTON_RELEASE:
+ x=event->button.x;
+ y=event->button.y;
+ gnome_canvas_item_w2i(GNOME_CANVAS_ITEM(group_g), &x, &y);
+ if(-ITEM_W < x && x < PLATEAU_W + ITEM_W && abs(y-PLATEAU_Y) < ITEM_H)
+ plateau = 1;
+ else
+ {
+ x=event->button.x;
+ y=event->button.y;
+ gnome_canvas_item_w2i(GNOME_CANVAS_ITEM(group_d), &x, &y);
+ if(-ITEM_W < x && x < PLATEAU_W + ITEM_W && abs(y-PLATEAU_Y) < ITEM_H)
+ plateau = -1;
+ else
+ plateau=0;
+ }
+ scale_item_move_to(scale, plateau);
+ break;
+ default:
+ break;
+ }
+
+ return FALSE;
+}
+
+static ScaleItem * scale_list_add_weight(gint weight)
+{
+ ScaleItem *new_item;
+ GdkPixbuf *pixmap;
+ gchar *filename;
+ double x, y;
+ GList *last;
+
+ last=g_list_last(item_list);
+ if(last)
+ {
+ new_item = last->data;
+ x = new_item->x + ITEM_W;
+ y = new_item->y;
+ if(x > ITEM_X_MAX)
+ {
+ x = ITEM_X_MIN;
+ y += ITEM_H;
+ if(y > ITEM_Y_MAX)
+ g_warning("No more place for new item");
+ }
+ }
+ else
+ {
+ x = ITEM_X_MIN;
+ y = ITEM_Y_MIN;
+ }
+
+ new_item = g_new0(ScaleItem, 1);
+ new_item->x = x;
+ new_item->y = y;
+ new_item->weight = weight;
+
+ filename = g_strdup_printf("scales/masse%d.png", weight);
+ pixmap = gc_pixmap_load(filename);
+ new_item->item = gnome_canvas_item_new(boardRootItem,
+ gnome_canvas_pixbuf_get_type(),
+ "pixbuf", pixmap,
+ "x", new_item->x,
+ "y", new_item->y, NULL);
+ g_free(filename);
+ gdk_pixbuf_unref(pixmap);
+
+ g_signal_connect(new_item->item, "event", (GtkSignalFunc)gc_item_focus_event, NULL);
+ g_signal_connect(new_item->item, "event", (GtkSignalFunc)gc_drag_event, new_item);
+ g_signal_connect(new_item->item, "event", (GtkSignalFunc) scale_item_event, new_item);
+
+ item_list = g_list_append(item_list, new_item);
+ return new_item;
+}
+
+static ScaleItem * scale_list_add_object(GdkPixbuf *pixmap, int weight, int plateau, gboolean show_weight)
+{
+ GnomeCanvasItem *item;
+ ScaleItem * new_item;
+
+ item = gnome_canvas_item_new(group_d,
+ gnome_canvas_pixbuf_get_type(),
+ "pixbuf", pixmap,
+ "x", ((double)PLATEAU_SIZE * ITEM_W - gdk_pixbuf_get_width(pixmap))/2.0,
+ "y", PLATEAU_Y + 5 - gdk_pixbuf_get_height(pixmap), NULL);
+ gnome_canvas_item_lower_to_bottom(item);
+
+ if(show_weight)
+ { // display the object weight
+ double x,y;
+ gchar * text;
+
+ x = PLATEAU_SIZE * ITEM_W * .5;
+ y = PLATEAU_Y - 20.0;
+ text = g_strdup_printf("%d", objet_weight);
+ gnome_canvas_item_new(group_d,
+ gnome_canvas_text_get_type(),
+ "text", text,
+ "font", gc_skin_font_board_medium,
+ "x", x + 1.0,
+ "y", y + 1.0,
+ "anchor", GTK_ANCHOR_CENTER,
+ "fill_color_rgba", gc_skin_color_shadow,
+ NULL);
+ gnome_canvas_item_new(group_d,
+ gnome_canvas_text_get_type(),
+ "text", text,
+ "font", gc_skin_font_board_medium,
+ "x", x,
+ "y", y,
+ "anchor", GTK_ANCHOR_CENTER,
+ "fill_color_rgba", gc_skin_color_content,
+ NULL);
+ g_free(text);
+ }
+
+ new_item = g_new0(ScaleItem, 1);
+ new_item->weight = weight;
+ new_item->plateau = plateau;
+ new_item->plateau_index = -1;
+ new_item->item = item;
+
+ item_list = g_list_append(item_list, new_item);
+ return new_item;
+}
+
+// test if adding elements in table can produce total
+static gboolean test_addition(int total, int *table, int len)
+{
+ int i;
+
+ if(total == 0)
+ return TRUE;
+
+ for(i=0; i<len; i++)
+ {
+ if(table[i] <= total && table[i] != 0)
+ {
+ gboolean result;
+ int cur;
+ cur = table[i];
+ table[i] = 0;
+ result = test_addition(total-cur, table, len);
+ table[i] = cur;
+ if(result)
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
+static void scale_make_level()
+{
+ GdkPixbuf *pixmap;
+ gboolean show_weight=FALSE;
+ const int default_list_weight[10] = { 1,2,2,5,5,10,10};
+ int list_weight[10]= {0};
+ int i, tmp[5];
+
+ switch(gcomprisBoard->level)
+ {
+ case 1:
+ case 2:
+ objet_weight = g_random_int_range(5,20);
+ for(i=0;i<10; i++)
+ list_weight[i] = default_list_weight[i];
+ show_weight = gcomprisBoard->level == 1;
+ break;
+ case 3:
+ case 4:
+ while(1)
+ {
+ for(i=0; i< 5; i++)
+ do
+ tmp[i] = default_list_weight[g_random_int_range(0,10)];
+ while(tmp[i]==0);
+
+ objet_weight=0;
+ for(i=0; i<5; i++)
+ objet_weight += g_random_int_range(-1,2) * tmp[i];
+ objet_weight = abs(objet_weight);
+
+ if(!test_addition(objet_weight, tmp, 5))
+ break;
+ }
+ for(i=0;i<5; i++)
+ list_weight[i] = tmp[i];
+ show_weight = gcomprisBoard->level == 3;
+ break;
+ }
+
+ for(i=0; list_weight[i] ; i++)
+ scale_list_add_weight(list_weight[i]);
+
+ pixmap = gc_pixmap_load(imageList[g_random_int_range(0,imageListCount)]);
+ scale_list_add_object(pixmap, objet_weight,-1, show_weight);
+ gdk_pixbuf_unref(pixmap);
+}
+
+
+static void scale_next_level()
+{
+ GdkPixbuf *pixmap, *pixmap2;
+ GnomeCanvasItem *item, *balance;
+ double balance_x, balance_y;
+
+ gc_bar_set_level(gcomprisBoard);
+
+ scale_destroy_all_items();
+ gamewon = FALSE;
+
+ // create the balance
+ pixmap = gc_pixmap_load("scales/balance.png");
+ balance_x = (BOARDWIDTH - gdk_pixbuf_get_width(pixmap))/2;
+ balance_y = (BOARDHEIGHT - gdk_pixbuf_get_height(pixmap))/2;
+
+ boardRootItem = GNOME_CANVAS_GROUP(gnome_canvas_item_new (gnome_canvas_root(gcomprisBoard->canvas),
+ gnome_canvas_group_get_type (),
+ "x", balance_x,
+ "y", balance_y,
+ NULL));
+
+ balance = item = gnome_canvas_item_new(boardRootItem,
+ gnome_canvas_pixbuf_get_type(),
+ "pixbuf", pixmap,
+ "x", (double)0,
+ "y", (double)0,
+ NULL);
+ gdk_pixbuf_unref(pixmap);
+
+ // create plateau gauche
+ group_g = GNOME_CANVAS_GROUP(gnome_canvas_item_new(boardRootItem,
+ gnome_canvas_group_get_type(),
+ "x", PLATEAU_X1,
+ "y", 0.0,
+ NULL));
+ pixmap = gc_pixmap_load("scales/plateau.png");
+ item = gnome_canvas_item_new(group_g,
+ gnome_canvas_pixbuf_get_type(),
+ "pixbuf", pixmap,
+ "x", 0.0, "y", PLATEAU_Y, NULL);
+ gdk_pixbuf_unref(pixmap);
+
+ // create plateau droit
+ group_d = GNOME_CANVAS_GROUP(gnome_canvas_item_new(boardRootItem,
+ gnome_canvas_group_get_type(),
+ "x", PLATEAU_X2,
+ "y", 0.0,
+ NULL));
+ pixmap = gc_pixmap_load("scales/plateau.png");
+ pixmap2 = gdk_pixbuf_flip(pixmap, TRUE);
+ item = gnome_canvas_item_new(group_d,
+ gnome_canvas_pixbuf_get_type(),
+ "pixbuf", pixmap2,
+ "x", 0.0, "y", PLATEAU_Y, NULL);
+ gdk_pixbuf_unref(pixmap);
+ gdk_pixbuf_unref(pixmap2);
+
+ pixmap = gc_pixmap_load("scales/bras.png");
+ bras = item = gnome_canvas_item_new(boardRootItem,
+ gnome_canvas_pixbuf_get_type(),
+ "pixbuf", pixmap,
+ "x", BRAS_X,
+ "y", BRAS_Y,
+ NULL);
+ gdk_pixbuf_unref(pixmap);
+ gnome_canvas_item_raise_to_top(balance);
+
+ scale_make_level();
+ scale_anim_plateau();
+}
+
+static void scale_destroy_all_items()
+{
+ GList *list;
+
+ if(boardRootItem)
+ gtk_object_destroy (GTK_OBJECT(boardRootItem));
+ boardRootItem = NULL;
+
+ if(item_list)
+ {
+ for(list = item_list; list ; list = list->next)
+ g_free(list->data);
+ g_list_free(item_list);
+ item_list = NULL;
+ }
+ if(answer_string)
+ {
+ g_string_free(answer_string, TRUE);
+ answer_string = NULL;
+ }
+}
+
+static void game_won()
+{
+ gcomprisBoard->sublevel++;
+
+ if(gcomprisBoard->sublevel>gcomprisBoard->number_of_sublevel) {
+ /* Try the next level */
+ gcomprisBoard->sublevel=1;
+ gcomprisBoard->level++;
+ if(gcomprisBoard->level>gcomprisBoard->maxlevel) { // the current board is finished : bail out
+ gc_bonus_end_display(BOARD_FINISHED_RANDOM);
+ return;
+ }
+ gc_sound_play_ogg ("sounds/bonus.ogg", NULL);
+ }
+ scale_next_level();
+}
+
+/* ==================================== */
+static void process_ok()
+{
+ gboolean good_answer = TRUE;
+
+ if(board_paused)
+ return;
+
+ if(answer_string)
+ {
+ gint answer_weight ;
+ answer_weight = g_strtod(answer_string->str, NULL);
+ good_answer = answer_weight == objet_weight;
+ }
+ if(get_weight_plateau(0)==0 && good_answer)
+ {
+ gamewon = TRUE;
+ scale_destroy_all_items();
+ gc_bonus_display(gamewon, BONUS_SMILEY);
+ }
+ else
+ gc_bonus_display(gamewon, BONUS_SMILEY);
+}
+
+/* ************************************* */
+/* * Configuration * */
+/* ************************************* */
+
+
+/* ======================= */
+/* = config_start = */
+/* ======================= */
+
+static GcomprisProfile *profile_conf;
+static GcomprisBoard *board_conf;
+
+static void save_table (gpointer key,
+ gpointer value,
+ gpointer user_data)
+{
+ gc_db_set_board_conf ( profile_conf,
+ board_conf,
+ (gchar *) key,
+ (gchar *) value);
+}
+
+static void conf_ok(GHashTable *table)
+{
+ if (!table){
+ if (gcomprisBoard)
+ pause_board(FALSE);
+ return;
+ }
+
+ g_hash_table_foreach(table, (GHFunc) save_table, NULL);
+
+ if (gcomprisBoard){
+ GHashTable *config;
+
+ if (profile_conf)
+ config = gc_db_get_board_conf();
+ else
+ config = table;
+
+ gchar *drag_mode_str = g_hash_table_lookup( config, "drag_mode");
+
+ if (drag_mode_str && (g_strcasecmp (drag_mode_str, "NULL") != 0))
+ drag_mode = (gint ) g_ascii_strtod(drag_mode_str, NULL);
+ else
+ drag_mode = 0;
+
+ if (profile_conf)
+ g_hash_table_destroy(config);
+
+ gc_drag_change_mode( drag_mode);
+
+ scale_next_level();
+
+ pause_board(FALSE);
+ }
+
+ board_conf = NULL;
+ profile_conf = NULL;
+
+}
+
+static void
+config_start(GcomprisBoard *agcomprisBoard,
+ GcomprisProfile *aProfile)
+{
+ board_conf = agcomprisBoard;
+ profile_conf = aProfile;
+
+ if (gcomprisBoard)
+ pause_board(TRUE);
+
+ gchar * label = g_strdup_printf("<b>%s</b> configuration\n for profile <b>%s</b>",
+ agcomprisBoard->name,
+ aProfile? aProfile->name : "");
+
+ gc_board_config_window_display( label,
+ (GcomprisConfCallback )conf_ok);
+
+ g_free(label);
+
+ /* init the combo to previously saved value */
+ GHashTable *config = gc_db_get_conf( profile_conf, board_conf);
+
+ gchar *drag_mode_str = g_hash_table_lookup( config, "drag_mode");
+ gint drag_previous;
+
+ if (drag_mode_str && (strcmp (drag_mode_str, "NULL") != 0))
+ drag_previous = (gint ) g_ascii_strtod(drag_mode_str, NULL);
+ else
+ drag_previous = 0;
+
+ gc_board_config_combo_drag( drag_mode);
+
+}
+
+
+/* ======================= */
+/* = config_stop = */
+/* ======================= */
+static void config_stop()
+{
+}
+
diff --git a/src/boards/shapegame.c b/src/boards/shapegame.c
index 6af6207..07ac4e8 100644
--- a/src/boards/shapegame.c
+++ b/src/boards/shapegame.c
@@ -27,25 +27,17 @@
#include <string.h>
#include "gcompris/gcompris.h"
+#include "gcompris/pixbuf_util.h"
#define SOUNDLISTFILE PACKAGE
-#define UNDEFINED "Undefined"
#define SQUARE_LIMIT_DISTANCE 100.0
static int gamewon;
-static gboolean edit_mode = FALSE;
-
-static gint addedname; /* Defined the rules to apply to determine if the
- board is done.
- - by default it is puzzle like, each piece at its place
- - If addedname is set, then this value is compared to the
- sum of each xml name value of the placed pieces
- */
-
static GcomprisBoard *gcomprisBoard = NULL;
static gboolean board_paused = TRUE;
+static gboolean shadow_enable;
#define POINT_COLOR_OFF 0xEf000080
#define POINT_COLOR_ON 0x00EF0080
@@ -56,7 +48,6 @@ typedef enum
SHAPE_DUMMY_TARGET = 1 << 1,
SHAPE_ICON = 1 << 2,
SHAPE_BACKGROUND = 1 << 3,
- SHAPE_COLORLIST = 1 << 4
} ShapeType;
/* Let's define the structure for a single shape */
@@ -84,30 +75,15 @@ struct _Shape {
guint shapelistgroup_index; /* Root index which this item is in the shapelist */
Shape *icon_shape; /* Temporary Canvas icon shape for this shape */
Shape *target_shape; /* If this is an icon shape then point to its shape */
- GnomeCanvasItem *bad_item; /* Temporary bad placed Canvas item for this shape */
- gboolean found; /* The user found this item */
- gboolean placed; /* The user placed this item */
GnomeCanvasItem *target_point; /* Target point item for this shape */
GnomeCanvasItem *targetitem; /* Target item for this shape (if targetfile is defined) */
+ double offset_x, offset_y;
+ Shape *shape_place; /* the shape place in this place */
+ Shape *placed ; /* where is place this shape */
};
-gchar *colorlist [] =
- {
- "black",
- "brown",
- "red",
- "orange",
- "yellow",
- "green",
- "blue",
- "purple",
- "grey",
- "white",
- };
-
/* This is the list of shape for the current game */
-static GList *shape_list_init = NULL;
static GList *shape_list = NULL;
static GList *shape_list_group = NULL;
static int current_shapelistgroup_index = -1;
@@ -158,7 +134,6 @@ static void shapegame_destroy_all_items(void);
static void setup_item(GnomeCanvasItem *item, Shape *shape);
static void shapegame_next_level(void);
static gboolean read_xml_file(char *fname);
-static gboolean write_xml_file(char *fname);
static Shape *find_closest_shape(double x, double y, double limit);
static Shape *create_shape(ShapeType type, char *name, char *tooltip,
char *pixmapfile, GnomeCanvasPoints* points,
@@ -168,10 +143,14 @@ static gboolean increment_sublevel(void);
static void create_title(char *name, double x, double y, GtkJustification justification,
guint32 color_rgba);
static gint item_event_ok(GnomeCanvasItem *item, GdkEvent *event, gpointer data);
-static gint item_event_edition(GnomeCanvasItem *item, GdkEvent *event, Shape *shape);
-
+static gint item_event_drag(GnomeCanvasItem *item, GdkEvent *event, gpointer data);
+#if DEBUG
+static void dump_shapes(void);
+static void dump_shape(Shape *shape);
+#endif
static void update_shapelist_item(void);
+static gint drag_mode;
/* Description of this plugin */
static BoardPlugin menu_bp =
{
@@ -198,29 +177,29 @@ static BoardPlugin menu_bp =
};
/* Description of this plugin without configuration */
-static BoardPlugin menu_bp_no_config =
-{
- NULL,
- NULL,
- "Make the puzzle",
- "Drag and Drop the items to rebuild the object",
- "Bruno Coudoin <bruno.coudoin@free.fr>",
- NULL,
- NULL,
- NULL,
- NULL,
- start_board,
- pause_board,
- end_board,
- is_our_board,
- key_press,
- process_ok,
- set_level,
- NULL,
- NULL,
- NULL,
- NULL
-};
+/* static BoardPlugin menu_bp_no_config = */
+/* { */
+/* NULL, */
+/* NULL, */
+/* "Make the puzzle", */
+/* "Drag and Drop the items to rebuild the object", */
+/* "Bruno Coudoin <bruno.coudoin@free.fr>", */
+/* NULL, */
+/* NULL, */
+/* NULL, */
+/* NULL, */
+/* start_board, */
+/* pause_board, */
+/* end_board, */
+/* is_our_board, */
+/* key_press, */
+/* process_ok, */
+/* set_level, */
+/* NULL, */
+/* NULL, */
+/* NULL, */
+/* NULL */
+/* }; */
/*
* Main entry point mandatory for each Gcompris's game
@@ -256,14 +235,21 @@ static void start_board (GcomprisBoard *agcomprisBoard)
gchar *filename = NULL;
gboolean default_background = TRUE;
- if (strcmp(agcomprisBoard->name, "imagename")==0){
- GHashTable *config = gc_db_get_board_conf();
+ GHashTable *config = gc_db_get_board_conf();
+ if (strcmp(agcomprisBoard->name, "imagename")==0){
gc_locale_set(g_hash_table_lookup( config, "locale"));
-
- g_hash_table_destroy(config);
}
+ gchar *drag_mode_str = g_hash_table_lookup( config, "drag_mode");
+
+ if (drag_mode_str && (strcmp (drag_mode_str, "NULL") != 0))
+ drag_mode = g_ascii_strtod(drag_mode_str, NULL);
+ else
+ drag_mode = 0;
+
+ g_hash_table_destroy(config);
+
if(agcomprisBoard!=NULL)
{
gcomprisBoard = agcomprisBoard;
@@ -289,10 +275,7 @@ static void start_board (GcomprisBoard *agcomprisBoard)
/**/
gcomprisBoard->maxlevel--;
- if (strcmp(gcomprisBoard->name, "imagename")==0){
- gc_bar_set(GC_BAR_CONFIG|GC_BAR_LEVEL|GC_BAR_OK);
- } else
- gc_bar_set(GC_BAR_LEVEL|GC_BAR_OK);
+ gc_bar_set(GC_BAR_CONFIG|GC_BAR_LEVEL|GC_BAR_OK);
gcomprisBoard->sublevel = 0;
@@ -324,15 +307,12 @@ static void start_board (GcomprisBoard *agcomprisBoard)
img);
g_free(img);
}
-
+ gc_drag_start(gnome_canvas_root(gcomprisBoard->canvas), (gc_Drag_Func) item_event_drag, drag_mode);
shapegame_next_level();
pause_board(FALSE);
- gc_cursor_set(GCOMPRIS_LINE_CURSOR);
-
}
-
}
static void
@@ -341,6 +321,7 @@ end_board ()
if(gcomprisBoard!=NULL)
{
+ gc_drag_stop(gnome_canvas_root(gcomprisBoard->canvas));
pause_board(TRUE);
shapegame_destroy_all_items();
gcomprisBoard->level = 1; // Restart this game to zero
@@ -351,7 +332,6 @@ end_board ()
}
gcomprisBoard = NULL;
- gc_cursor_set(GCOMPRIS_DEFAULT_CURSOR);
}
static void
@@ -373,12 +353,7 @@ is_our_board (GcomprisBoard *gcomprisBoard)
{
if(g_strcasecmp(gcomprisBoard->type, "shapegame")==0)
{
- /* Set the plugin entry */
- if (strcmp(gcomprisBoard->name, "imagename")==0){
- gcomprisBoard->plugin = &menu_bp;
- } else {
- gcomprisBoard->plugin = &menu_bp_no_config;
- }
+ gcomprisBoard->plugin = &menu_bp;
return TRUE;
}
@@ -391,8 +366,6 @@ is_our_board (GcomprisBoard *gcomprisBoard)
*/
static gint key_press(guint keyval, gchar *commit_str, gchar *preedit_str)
{
- guint c;
-
if(!gcomprisBoard)
return FALSE;
@@ -427,54 +400,6 @@ static gint key_press(guint keyval, gchar *commit_str, gchar *preedit_str)
break;
}
- c = tolower(keyval);
-
- switch (c)
- {
- case 'e':
- /* Enter Edit Mode */
- gc_dialog(_("You have entered Edit mode\nMove the puzzle items;\ntype 's' to save, and\n'd' to display all the shapes"), NULL);
- edit_mode = TRUE;
- break;
- case 's':
- /* Save the current board */
- if(edit_mode)
- {
- write_xml_file("/tmp/gcompris-board.xml");
- gc_dialog(_("The data from this activity are saved under\n/tmp/gcompris-board.xml"), NULL);
- }
- break;
- case 'd':
- /* Display all the shapes */
- if(edit_mode)
- {
- GList *list;
-
- /* loop through all our shapes */
- for(list = shape_list; list != NULL; list = list->next) {
- Shape *shape = list->data;
-
- if(shape->type==SHAPE_TARGET)
- {
- /* You got it right perfect */
- if(shape->bad_item!=NULL)
- {
- gnome_canvas_item_hide(shape->bad_item);
- gtk_object_destroy (GTK_OBJECT(shape->bad_item));
- shape->bad_item=NULL;
- }
- shape->found = TRUE;
- gnome_canvas_item_show(shape->item);
- gnome_canvas_item_raise_to_top(shape->item);
- gnome_canvas_item_raise_to_top(shape->target_point);
- }
- }
- }
- break;
- default:
- break;
- }
-
return TRUE;
}
@@ -511,7 +436,6 @@ static void shapegame_next_level()
char *filename;
gamewon = FALSE;
- edit_mode = FALSE;
shapegame_destroy_all_items();
next_shapelist_item = previous_shapelist_item = NULL;
@@ -543,51 +467,16 @@ static void process_ok()
GList *list;
gboolean done = TRUE;
- /*
- * Here I implements the resolving rules.
- */
- if(addedname == INT_MAX)
- {
- /* - Default is to be puzzle like. Check that each piece is at its place */
-
- /* Loop through all the shapes to find if all target are found */
- for(list = shape_list; list != NULL; list = list->next) {
- Shape *shape = list->data;
-
- if(shape->type==SHAPE_TARGET)
- {
- if(shape->found==FALSE)
- done=FALSE;
- }
- }
- }
- else
- {
- /* - if addedname is set, then adding int name field of placed piece must
- * equals addedname
- */
- gint total = 0;
-
- for(list = shape_list; list != NULL; list = list->next) {
- Shape *shape = list->data;
- gint intname = 0;
-
- g_warning(" shape = %s\n", shape->name);
- if(shape->type==SHAPE_TARGET && shape->placed==TRUE)
- {
- intname = atoi(shape->name);
- total += intname;
- g_warning(" shape = %s placed=TRUE\n", shape->name);
- }
+ /* Loop through all the shapes to find if all target are found */
+ for(list = shape_list; list != NULL; list = list->next) {
+ Shape *shape = list->data;
+ if(shape->type==SHAPE_TARGET)
+ {
+ if(shape->placed!=shape)
+ done=FALSE;
}
-
- if(total != addedname)
- done = FALSE;
-
- g_warning("checking for addedname=%d done=%d total=%d\n", addedname, done, total);
- }
-
+ }
if(done)
{
@@ -665,8 +554,6 @@ static void shapegame_init_canvas(GnomeCanvasGroup *parent)
"y", (double)0,
NULL);
- /* Create the tooltip area */
- pixmap = gc_skin_pixmap_load("button_large.png");
tooltip_root_item = GNOME_CANVAS_GROUP(
gnome_canvas_item_new (parent,
gnome_canvas_group_get_type (),
@@ -675,6 +562,8 @@ static void shapegame_init_canvas(GnomeCanvasGroup *parent)
NULL)
);
+ /* Create the tooltip area */
+ pixmap = gc_skin_pixmap_load("button_large.png");
tooltip_bg_item = \
gnome_canvas_item_new (GNOME_CANVAS_GROUP(tooltip_root_item),
gnome_canvas_pixbuf_get_type (),
@@ -833,7 +722,7 @@ add_shape_to_list_of_shapes(Shape *shape)
/* So this shape is not yet in, let's put it in now */
g_hash_table_insert (shapelist_table, shape->pixmapfile, shape);
- if(strcmp(shape->pixmapfile, UNDEFINED)!=0)
+ if(shape->pixmapfile)
{
pixmap = gc_pixmap_load(shape->pixmapfile);
if(pixmap)
@@ -850,7 +739,35 @@ add_shape_to_list_of_shapes(Shape *shape)
{
h = ICON_HEIGHT;
w = gdk_pixbuf_get_width(pixmap) * ( h / gdk_pixbuf_get_height(pixmap));
- }
+ }
+ if(h < 20 || w < 20 )
+ {
+ GdkPixbuf *scale, *hand;
+
+ scale = gdk_pixbuf_scale_simple(pixmap, w, h, GDK_INTERP_BILINEAR);
+ gdk_pixbuf_unref(pixmap);
+
+ pixmap = gdk_pixbuf_new( GDK_COLORSPACE_RGB, TRUE, 8,
+ ICON_WIDTH, ICON_HEIGHT);
+ gdk_pixbuf_fill(pixmap,0xffffff00);
+ // add the shape
+ gdk_pixbuf_copy_area( scale, 0, 0, w, h,
+ pixmap, (ICON_WIDTH-w )/2, (ICON_HEIGHT-h)/2 );
+ gdk_pixbuf_unref(scale);
+
+ // add the hand
+ hand = gc_pixmap_load("boardicons/leftright.png");
+ h = ICON_HEIGHT/3;
+ w = gdk_pixbuf_get_width(hand) * h / gdk_pixbuf_get_height(hand);
+ scale = gdk_pixbuf_scale_simple(hand, w, h, GDK_INTERP_BILINEAR);
+ gdk_pixbuf_copy_area(scale, 0, 0, w, h,
+ pixmap, ICON_WIDTH-w,0);
+ gdk_pixbuf_unref(hand);
+ gdk_pixbuf_unref(scale);
+
+ w=ICON_WIDTH;
+ h=ICON_HEIGHT;
+ }
item = gnome_canvas_item_new (shape_list_group_root,
gnome_canvas_pixbuf_get_type (),
@@ -866,12 +783,13 @@ add_shape_to_list_of_shapes(Shape *shape)
icon_shape = create_shape(SHAPE_ICON, shape->name, shape->tooltip,
shape->pixmapfile, shape->points, shape->targetfile,
- (double)0, (double)y_offset,
+ (double)x_offset -w/2, (double)y_offset -h/2,
(double)w, (double)h,
(double)shape->zoomx, (double)shape->zoomy,
0, shape->soundfile);
icon_shape->item = item;
icon_shape->target_shape = shape;
+ shape->icon_shape = icon_shape;
icon_shape->shapelistgroup_index = current_shapelistgroup_index;
shape->shapelistgroup_index = current_shapelistgroup_index;
g_warning(" creation shape=%s shape->shapelistgroup_index=%d current_shapelistgroup_index=%d\n",
@@ -917,61 +835,243 @@ static Shape *find_closest_shape(double x, double y, double limit)
return candidateShape;
}
-//#if 0
+#if DEBUG
+
+static void dump_shapes(void)
+{
+ GList *list;
+
+ printf("---- Shapes ----\n");
+ for(list = shape_list; list ; list = list->next)
+ {
+ Shape * s = list->data;
+ if(s->type == SHAPE_TARGET || s->type == SHAPE_ICON)
+ dump_shape(s);
+ }
+}
+
static void dump_shape(Shape *shape)
{
- g_warning("dump_shape name=%s found=%d type=%d ", shape->name, shape->found, shape->type);
- if(shape->bad_item)
- g_warning("bad_item=TRUE ");
- if(shape->icon_shape)
- g_warning("icon_shape=%s", shape->icon_shape->name);
- g_warning("\n");
+ if(shape->type == SHAPE_TARGET && (shape->placed || shape->shape_place))
+ {
+ printf("%s :", shape->name);
+ if(shape->placed)
+ printf(" %s -> %s", shape->name, shape->placed->name);
+ else
+ printf(" ");
+ if(shape->shape_place)
+ printf(" %s -> %s", shape->shape_place->name, shape->name);
+ printf("\n");
+ }
}
-//#endif
+#endif
-/*
- * Given the shape, if it has an icon, it puts it back to
- * the list of shapes
- */
-static void shape_goes_back_to_list(Shape *shape, GnomeCanvasItem *item)
+/* it puts a shape back to the list of shapes */
+static void shape_goes_back_to_list(Shape *shape)
{
- g_warning("shape_goes_back_to_list shape=%s shape->shapelistgroup_index=%d current_shapelistgroup_index=%d\n", shape->name, shape->shapelistgroup_index, current_shapelistgroup_index);
+ if(shape -> type == SHAPE_ICON)
+ shape = shape -> target_shape;
+
+ gnome_canvas_item_hide(shape->item);
+ /* replace the icon */
+ gnome_canvas_item_set(shape->icon_shape->item,
+ "x", shape->icon_shape->x,
+ "y", shape->icon_shape->y, NULL);
+ gnome_canvas_item_show(shape->icon_shape->item);
- if(shape->icon_shape!=NULL)
+ if(shape->placed)
{
- if(shape->icon_shape->target_shape)
- {
- shape->icon_shape->target_shape->placed = FALSE;
- g_warning("shape_goes_back_to_list setting shape->name=%s to placed=%d\n",
- shape->icon_shape->target_shape->name,
- shape->icon_shape->target_shape->placed);
- }
+ shape->placed->shape_place = NULL;
+ shape->placed = NULL;
+ }
- /* There was a previous icon here, put it back to the list */
- gnome_canvas_item_move(shape->icon_shape->item,
- shape->icon_shape->x - shape->x,
- shape->icon_shape->y - shape->y);
- gnome_canvas_item_show(shape->icon_shape->item);
+ update_shapelist_item();
- gc_item_focus_set(shape->icon_shape->item, TRUE);
- shape->icon_shape=NULL;
+ gc_sound_play_ogg ("sounds/flip.wav", NULL);
+}
- gnome_canvas_item_hide(item);
- gc_sound_play_ogg ("sounds/gobble.ogg", NULL);
+static Shape * item_to_shape(GnomeCanvasItem *item)
+{
+ GList *list;
+ for(list = shape_list; list ; list = list -> next)
+ {
+ Shape *s = list -> data;
+ if( s-> item == item)
+ return s;
+ }
+ g_warning("Can't find the shape for item %p", item);
+ return NULL;
+}
+
+/* switch off all point, and switch on this point
+ if shape is NULL, switch off all */
+void target_point_switch_on(Shape *shape_on)
+{
+ GList *list;
+ Shape *shape;
+
+ for(list = shape_list; list ; list = list ->next)
+ {
+ shape = list -> data;
+ if(shape->type == SHAPE_TARGET && ! shape->targetfile)
+ gnome_canvas_item_set(shape->target_point,
+ "fill_color_rgba",
+ shape == shape_on ? POINT_COLOR_ON : POINT_COLOR_OFF,
+ NULL);
+ }
+}
+
+static gint item_event_drag(GnomeCanvasItem *item, GdkEvent *event, gpointer data)
+{
+ static GnomeCanvasItem *shadow_item=NULL;
+ double item_x, item_y;
+ Shape *shape, *found_shape;
+
+ if(board_paused)
+ return FALSE;
+
+ shape = item_to_shape(item);
+ switch(event->type)
+ {
+ case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
+ switch(shape -> type)
+ {
+ case SHAPE_ICON:
+ gc_drag_offset_save(event);
+ gc_drag_offset_get(&shape->offset_x, &shape->offset_y);
+ if (shape->soundfile)
+ {
+ /* If the soundfile has space ' ' in it, then it is assumed that it is a list
+ * of sound rather than a single one */
+ char *p = NULL;
+ char *soundfile = g_strdup(shape->soundfile);
+
+ while ((p = strstr (soundfile, " ")))
+ {
+ *p='\0';
+ gc_sound_play_ogg(soundfile, NULL);
+ soundfile=p+1;
+ g_warning("soundfile = %s\n", soundfile);
+ }
+
+ gc_sound_play_ogg(soundfile, NULL);
+ }
+ break;
+ case SHAPE_TARGET:
+ gnome_canvas_item_hide(shape->item);
+
+ // unplace this shape
+ shape->placed->shape_place= NULL;
+ shape->placed = NULL;
+
+ shape = shape -> icon_shape;
+ gc_drag_offset_set( shape->offset_x, shape->offset_y);
+ gnome_canvas_item_show(shape->item);
+ gc_drag_item_set(shape->item);
+ break;
+ default:
+ break;
+ }
+ if(shadow_enable)
+ {
+ if(shadow_item)
+ gtk_object_destroy(GTK_OBJECT(shadow_item));
+ // initialise shadow shape
+ GdkPixbuf *pixmap, *dest;
+ g_object_get(shape->target_shape->item, "pixbuf", &pixmap, NULL);
+
+ dest = gdk_pixbuf_copy(pixmap);
+ pixbuf_add_transparent(dest, 100);
+ shadow_item = gnome_canvas_item_new(GNOME_CANVAS_GROUP(shape_root_item),
+ gnome_canvas_pixbuf_get_type(),
+ "pixbuf", dest,
+ "width", shape->target_shape->w,
+ "height", shape->target_shape->h,
+ "width_set", TRUE,
+ "height_set", TRUE,
+ NULL);
+ gnome_canvas_item_hide(shadow_item);
+ gdk_pixbuf_unref(dest);
+ gdk_pixbuf_unref(pixmap);
+ }
+ gnome_canvas_item_reparent(shape->item, GNOME_CANVAS_GROUP(shape_list_root_item->parent));
+ gnome_canvas_item_raise_to_top(shape->item);
+ gc_drag_item_move(event);
+ break;
+ case GDK_MOTION_NOTIFY:
+ gc_drag_item_move(event);
+
+ item_x = event->button.x;
+ item_y = event->button.y;
+ gnome_canvas_item_w2i(item->parent, &item_x, &item_y);
+
+ found_shape = find_closest_shape( item_x, item_y, SQUARE_LIMIT_DISTANCE);
+ if(shadow_enable)
+ {
+ if(found_shape)
+ {
+ gnome_canvas_item_set(shadow_item,
+ "x", found_shape->x - shape->target_shape->w/2,
+ "y", found_shape->y - shape->target_shape->h/2,
+ NULL);
+ gnome_canvas_item_show(shadow_item);
+ }
+ else
+ gnome_canvas_item_hide(shadow_item);
+ }
+
+ target_point_switch_on(found_shape);
+ break;
+ case GDK_BUTTON_RELEASE:
+ item_x = event->button.x;
+ item_y = event->button.y;
+ gnome_canvas_item_w2i(item->parent, &item_x, &item_y);
+
+ if(shadow_enable && shadow_item)
+ {
+ gtk_object_destroy(GTK_OBJECT(shadow_item));
+ shadow_item = NULL;
+ }
+
+ target_point_switch_on(NULL);
+ gnome_canvas_item_reparent(shape->item, shape->shape_list_group_root);
+
+ found_shape = find_closest_shape( item_x, item_y, SQUARE_LIMIT_DISTANCE);
+ if(found_shape)
+ {
+ if(found_shape->shape_place)
+ shape_goes_back_to_list(found_shape->shape_place);
+
+ gc_sound_play_ogg ("sounds/line_end.wav", NULL);
+
+ /* place the target item */
+ gnome_canvas_item_set(shape->target_shape->item,
+ "x", found_shape->x - shape->target_shape->w/2,
+ "y", found_shape->y - shape->target_shape->h/2,
+ NULL);
+ gnome_canvas_item_show(shape->target_shape->item);
+ gnome_canvas_item_raise_to_top(shape->target_shape->item);
+ gnome_canvas_item_hide(shape->item);
+
+ shape -> target_shape -> placed = found_shape;
+ found_shape -> shape_place = shape -> target_shape;
+ update_shapelist_item();
+ }
+ else
+ {
+ shape_goes_back_to_list(shape);
+ }
+ break;
+ default:
+ break;
}
- update_shapelist_item();
+ return FALSE;
}
static gint
item_event(GnomeCanvasItem *item, GdkEvent *event, Shape *shape)
{
- static double x, y;
- static double offset_x, offset_y;
- double new_x, new_y;
- GdkCursor *fleur;
- static int dragging;
- double item_x, item_y;
- static GnomeCanvasItem *target_point_previous;
if(!gcomprisBoard)
return FALSE;
@@ -985,19 +1085,6 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, Shape *shape)
return FALSE;
}
- /* This event is a non sense in the edit mode. Also, it will crash since the data structure are */
- /* filled differently in edit mode */
- /* Redirect this event to the edit mode one so that the user can drag the object directly */
- if(edit_mode)
- {
- item_event_edition(item, event, shape);
- return FALSE;
- }
-
- item_x = event->button.x;
- item_y = event->button.y;
- gnome_canvas_item_w2i(item->parent, &item_x, &item_y);
-
switch (event->type)
{
case GDK_ENTER_NOTIFY:
@@ -1021,282 +1108,8 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, Shape *shape)
gnome_canvas_item_hide(GNOME_CANVAS_ITEM(tooltip_root_item));
break;
case GDK_BUTTON_PRESS:
- switch(event->button.button)
- {
- case 1:
- if (event->button.state & GDK_SHIFT_MASK)
- {
- }
- else
- {
- target_point_previous = NULL;
-
- x = item_x;
- y = item_y;
-
- item_x = shape->x;
- item_y = shape->y;
-
- switch(shape->type)
- {
- case SHAPE_TARGET:
- gnome_canvas_item_hide(GNOME_CANVAS_ITEM(item));
- gc_item_focus_set(item, FALSE);
-
- if( shape->icon_shape!=NULL)
- {
- item = shape->icon_shape->item;
- item_x = x - (x - shape->x) * shape->icon_shape->w /
- shape->w;
- item_y = y - (y - shape->y) * shape->icon_shape->h /
- shape->h;
- gnome_canvas_item_move( item,
- item_x - shape->x,
- item_y - shape->y );
- gnome_canvas_item_show( item );
- gc_item_focus_set(item, TRUE);
- shape->icon_shape=NULL;
- }
- break;
- case SHAPE_ICON:
- if (strcmp(shape->soundfile,UNDEFINED) != 0)
- {
- /* If the soundfile has space ' ' in it, then it is assumed that it is a list
- * of sound rather than a single one
- */
-
- char *p = NULL;
- char *soundfile = g_strdup(shape->soundfile);
-
- while ((p = strstr (soundfile, " ")))
- {
- *p='\0';
- gc_sound_play_ogg(soundfile, NULL);
- soundfile=p+1;
- g_warning("soundfile = %s\n", soundfile);
- }
-
- gc_sound_play_ogg(soundfile, NULL);
-
- }
- break;
- default:
- break;
- }
- /* This records the offset between the mouse pointer and the grabbed item center */
- offset_x = x - item_x;
- offset_y = y - item_y;
- g_warning("offsetx=%f offsetx=%f\n", offset_x, offset_y);
- if(item==NULL)
- return FALSE;
-
- fleur = gdk_cursor_new(GDK_FLEUR);
-
- /* Make sure this item is on top */
- gnome_canvas_item_raise_to_top(shape_list_root_item);
- gnome_canvas_item_raise_to_top(item);
-
- gc_canvas_item_grab(item,
- GDK_POINTER_MOTION_MASK |
- GDK_BUTTON_RELEASE_MASK,
- fleur,
- event->button.time);
- gdk_cursor_destroy(fleur);
- dragging = TRUE;
- }
- break;
-
- case 3:
- /* If There was a previous icon here, put it back to the list */
- shape_goes_back_to_list(shape, item);
- /* Mark it not found */
- shape->found = FALSE;
- break;
-
- default:
- break;
- }
- break;
-
- case GDK_MOTION_NOTIFY:
- if (dragging && (event->motion.state & GDK_BUTTON1_MASK))
- {
- Shape *targetshape = NULL;
- new_x = item_x;
- new_y = item_y;
-
- gnome_canvas_item_move(item, new_x - x, new_y - y);
-
- x = new_x;
- y = new_y;
-
- targetshape = find_closest_shape(item_x - offset_x,
- item_y - offset_y,
- SQUARE_LIMIT_DISTANCE);
- if(targetshape!=NULL)
- {
- if(target_point_previous)
- {
- if(strcmp(shape->targetfile, UNDEFINED)==0)
- {
- gnome_canvas_item_set(GNOME_CANVAS_ITEM(target_point_previous),
- "fill_color_rgba", POINT_COLOR_OFF,
- NULL);
-
- gnome_canvas_item_set(GNOME_CANVAS_ITEM(targetshape->target_point),
- "fill_color_rgba", POINT_COLOR_ON,
- NULL);
- }
- else
- {
- gc_item_focus_set(target_point_previous, FALSE);
- gc_item_focus_set(targetshape->targetitem, TRUE);
- target_point_previous = targetshape->targetitem;
- }
- }
-
- if(strcmp(shape->targetfile, UNDEFINED)==0)
- target_point_previous = targetshape->target_point;
- else
- target_point_previous = targetshape->targetitem;
- }
- else
- {
- if(target_point_previous)
- {
- if(strcmp(shape->targetfile, UNDEFINED)==0)
- gnome_canvas_item_set(GNOME_CANVAS_ITEM(target_point_previous),
- "fill_color_rgba", POINT_COLOR_OFF,
- NULL);
- else
- gc_item_focus_set(target_point_previous, FALSE);
- }
- target_point_previous = NULL;
- }
- }
- break;
-
- case GDK_BUTTON_RELEASE:
- if(dragging)
- {
- Shape *targetshape = NULL;
-
- gc_canvas_item_ungrab(item, event->button.time);
- dragging = FALSE;
-
- if(target_point_previous)
- {
- if(strcmp(shape->targetfile, UNDEFINED)==0)
- gnome_canvas_item_set(GNOME_CANVAS_ITEM(target_point_previous),
- "fill_color_rgba", POINT_COLOR_OFF,
- NULL);
- else
- gc_item_focus_set(target_point_previous, FALSE);
- }
- target_point_previous = NULL;
-
- targetshape = find_closest_shape(item_x - offset_x,
- item_y - offset_y,
- SQUARE_LIMIT_DISTANCE);
- if(targetshape!=NULL)
- {
- /* Finish the placement of the grabbed item anyway */
- gnome_canvas_item_move(item,
- targetshape->x - x + offset_x,
- targetshape->y - y + offset_y);
- /* Hide it */
- gnome_canvas_item_hide(item);
-
- if(strcmp(targetshape->name, shape->name)==0)
- {
- /* You got it right perfect */
- if(targetshape->bad_item!=NULL)
- {
- gnome_canvas_item_hide(targetshape->bad_item);
- gtk_object_destroy (GTK_OBJECT(targetshape->bad_item));
- targetshape->bad_item=NULL;
- }
- targetshape->found = TRUE;
- shape->target_shape->placed = TRUE;
- g_warning("setting shape->name=%s to placed=%d\n", shape->target_shape->name,
- shape->target_shape->placed);
- gnome_canvas_item_show(targetshape->item);
- gnome_canvas_item_raise_to_top(targetshape->item);
- }
- else
- {
- /* Oups wrong position, create the wrong pixmap item */
- GdkPixbuf *pixmap;
- GnomeCanvasItem *item;
-
- targetshape->found = FALSE;
- shape->target_shape->placed = TRUE;
- g_warning("setting shape->name=%s to placed=%d\n", shape->target_shape->name,
- shape->target_shape->placed);
- gnome_canvas_item_hide(targetshape->item);
-
- /* There is already a bad item, delete it */
- if(targetshape->bad_item!=NULL)
- gtk_object_destroy (GTK_OBJECT(targetshape->bad_item));
-
- pixmap = gc_pixmap_load(shape->pixmapfile);
- item = gnome_canvas_item_new (GNOME_CANVAS_GROUP(shape_root_item),
- gnome_canvas_pixbuf_get_type (),
- "pixbuf", pixmap,
- "x", (double)targetshape->x - (gdk_pixbuf_get_width(pixmap)
- * shape->zoomx)/2,
- "y", (double)targetshape->y - (gdk_pixbuf_get_height(pixmap)
- * shape->zoomy/2),
- "width", (double) gdk_pixbuf_get_width(pixmap) * shape->zoomx,
- "height", (double) gdk_pixbuf_get_height(pixmap) * shape->zoomy,
- "width_set", TRUE,
- "height_set", TRUE,
- NULL);
- gdk_pixbuf_unref(pixmap);
-
- targetshape->bad_item = item;
- setup_item(item, targetshape);
- }
-
- /* If There was a previous icon here, put it back to the list */
- shape_goes_back_to_list(targetshape, item);
-
- /* Set the icon item */
- targetshape->icon_shape=shape;
-
- }
- else
- {
- /* The item has no close position */
- switch(shape->type)
- {
- case SHAPE_TARGET:
- gnome_canvas_item_hide(item);
- if( shape->icon_shape!=NULL)
- {
- item = shape->icon_shape->item;
- gnome_canvas_item_show(item);
- }
- break;
- case SHAPE_ICON:
- break;
- default:
- break;
- }
- /* Move back the item home */
- gnome_canvas_item_move(item,
- shape->x - x + offset_x,
- shape->y - y + offset_y);
- shape->target_shape->placed = FALSE;
- /* Mark it not found */
- shape->target_shape->found = FALSE;
- dump_shape(shape);
- dump_shape(shape->target_shape);
- update_shapelist_item();
- }
- }
- break;
-
+ if(event->button.button == 3)
+ shape_goes_back_to_list(shape);
default:
break;
}
@@ -1304,115 +1117,13 @@ item_event(GnomeCanvasItem *item, GdkEvent *event, Shape *shape)
return FALSE;
}
-/*
- * Special mode to edit the board by moving the target point
- */
-static gint
-item_event_edition(GnomeCanvasItem *item, GdkEvent *event, Shape *shape)
-{
- static double x, y;
- double new_x, new_y;
- GdkCursor *fleur;
- static int dragging;
- double item_x, item_y;
-
- if(!gcomprisBoard)
- return FALSE;
-
- if(!edit_mode)
- return FALSE;
-
- if(shape==NULL) {
- g_warning("Shape is NULL : Should not happen");
- return FALSE;
- }
-
- if(shape->type != SHAPE_TARGET)
- return FALSE;
-
- item_x = event->button.x;
- item_y = event->button.y;
- gnome_canvas_item_w2i(item->parent, &item_x, &item_y);
-
- switch (event->type)
- {
- case GDK_BUTTON_PRESS:
- switch(event->button.button)
- {
- case 1:
- if (event->button.state & GDK_SHIFT_MASK)
- {
- /* Cheat code to save an XML file */
- write_xml_file("/tmp/gcompris-board.xml");
- }
- else
- {
- x = item_x;
- y = item_y;
-
- item = shape->target_point;
-
- fleur = gdk_cursor_new(GDK_FLEUR);
-
- gc_canvas_item_grab(item,
- GDK_POINTER_MOTION_MASK |
- GDK_BUTTON_RELEASE_MASK,
- fleur,
- event->button.time);
- gdk_cursor_destroy(fleur);
- dragging = TRUE;
- }
- break;
-
- default:
- break;
- }
- break;
-
- case GDK_MOTION_NOTIFY:
- if (dragging && (event->motion.state & GDK_BUTTON1_MASK))
- {
- new_x = item_x;
- new_y = item_y;
-
- gnome_canvas_item_move(item, new_x - x, new_y - y);
- gnome_canvas_item_move(shape->item, new_x - x, new_y - y);
-
- // Update the shape's coordinate
- shape->x = shape->x + new_x - x;
- shape->y = shape->y + new_y - y;
-
- x = new_x;
- y = new_y;
- }
- break;
-
- case GDK_BUTTON_RELEASE:
- if(dragging)
- {
-
- gc_canvas_item_ungrab(item, event->button.time);
- gnome_canvas_item_raise_to_top(item);
- dragging = FALSE;
-
- }
- break;
-
- default:
- break;
- }
-
- return FALSE;
-
-}
-
static int get_element_count_listgroup(int listgroup_index)
{
int count=0, i;
Shape *sh;
for (i=0;i<g_list_length(shape_list);i++) {
sh = g_list_nth_data(shape_list,i);
- if( sh->shapelistgroup_index == listgroup_index &&
+ if( sh->shapelistgroup_index == listgroup_index &&
sh->type == SHAPE_TARGET && ! sh->placed)
count ++;
}
@@ -1424,7 +1135,7 @@ static int get_no_void_group(int direction)
int index = current_shapelistgroup_index;
direction = direction>0 ? 1 : -1;
-
+
index += direction;
while(0 <= index && index < g_list_length(shape_list_group))
{
@@ -1443,7 +1154,7 @@ static void update_shapelist_item(void)
{
int index;
GnomeCanvasItem *root_item;
-
+
index = get_no_void_group(-1);
if(index == current_shapelistgroup_index)
index = get_no_void_group(1);
@@ -1464,6 +1175,9 @@ static void update_shapelist_item(void)
gnome_canvas_item_hide(previous_shapelist_item);
else
gnome_canvas_item_show(previous_shapelist_item);
+#if DEBUG
+ dump_shapes();
+#endif
}
/* Callback for the operations */
@@ -1478,6 +1192,7 @@ item_event_ok(GnomeCanvasItem *item, GdkEvent *event, gpointer data)
switch (event->type)
{
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
root_item = g_list_nth_data(shape_list_group, current_shapelistgroup_index);
gnome_canvas_item_hide(root_item);
@@ -1512,6 +1227,8 @@ setup_item(GnomeCanvasItem *item, Shape *shape)
gtk_signal_connect(GTK_OBJECT(item), "event",
(GtkSignalFunc) item_event,
shape);
+ gtk_signal_connect(GTK_OBJECT(item), "event",
+ (GtkSignalFunc) gc_drag_event, NULL);
}
/*
@@ -1533,7 +1250,7 @@ add_shape_to_canvas(Shape *shape)
if(shape->type==SHAPE_TARGET)
{
- if(strcmp(shape->targetfile, UNDEFINED)!=0)
+ if(shape->targetfile)
{
targetpixmap = gc_pixmap_load(shape->targetfile);
shape->w = (double)gdk_pixbuf_get_width(targetpixmap) * shape->zoomx;
@@ -1555,7 +1272,6 @@ add_shape_to_canvas(Shape *shape)
else
{
int point_size = 6;
-
/* Display a point to highlight the target location of this shape */
item = gnome_canvas_item_new (GNOME_CANVAS_GROUP(shape_root_item),
gnome_canvas_ellipse_get_type(),
@@ -1568,9 +1284,6 @@ add_shape_to_canvas(Shape *shape)
"width_pixels", 2,
NULL);
shape->target_point = item;
- gtk_signal_connect(GTK_OBJECT(item), "event",
- (GtkSignalFunc) item_event_edition,
- shape);
}
gnome_canvas_item_lower_to_bottom(item);
}
@@ -1589,7 +1302,7 @@ add_shape_to_canvas(Shape *shape)
else
{
g_warning("it's an image ? shape->pixmapfile=%s\n", shape->pixmapfile);
- if(strcmp(shape->pixmapfile, UNDEFINED)!=0)
+ if(shape->pixmapfile)
{
g_warning(" Yes it is an image \n");
pixmap = gc_pixmap_load(shape->pixmapfile);
@@ -1641,7 +1354,7 @@ static void create_title(char *name, double x, double y, GtkJustification justif
item = \
gnome_canvas_item_new (GNOME_CANVAS_GROUP(shape_root_item),
gnome_canvas_text_get_type (),
- "text", name,
+ "text", gettext(name),
"font", gc_skin_font_board_medium,
"x", x + 1.0,
"y", y + 1.0,
@@ -1655,7 +1368,7 @@ static void create_title(char *name, double x, double y, GtkJustification justif
item = \
gnome_canvas_item_new (GNOME_CANVAS_GROUP(shape_root_item),
gnome_canvas_text_get_type (),
- "text", name,
+ "text", gettext(name),
"font", gc_skin_font_board_medium,
"x", x,
"y", y,
@@ -1697,13 +1410,6 @@ create_shape(ShapeType type, char *name, char *tooltip, char *pixmapfile, GnomeC
shape->type = type;
shape->soundfile = g_strdup(soundfile);
- shape->bad_item = NULL;
- shape->icon_shape = NULL;
- shape->target_shape = NULL;
-
- shape->found = FALSE;
- shape->placed = FALSE;
-
/* add the shape to the list */
shape_list = g_list_append(shape_list, shape);
@@ -1738,7 +1444,7 @@ xmlGetProp_Double(xmlNodePtr node, xmlChar *prop, double def_value)
}
static void
-add_xml_shape_to_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child)
+add_xml_shape_to_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child, GList **list)
{
char *name, *cd ,*ctype, *justification;
char *tooltip;
@@ -1788,14 +1494,10 @@ add_xml_shape_to_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child)
/* FIXME : The implementation is incomplete, a point still needs to be added
to shapelist and add management for it's x/y coordinates */
cd = (char *)xmlGetProp(xmlnode, BAD_CAST "points");
- if(!cd)
- {
- cd = "";
- }
- else
+ if(cd)
{
d = g_strsplit(cd, " ", 64);
-
+ xmlFree(cd);
j=0;
while(d[j]!=NULL)
{
@@ -1846,8 +1548,6 @@ add_xml_shape_to_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child)
type = SHAPE_DUMMY_TARGET;
else if (g_strcasecmp(ctype,"SHAPE_BACKGROUND")==0)
type = SHAPE_BACKGROUND;
- else if (g_strcasecmp(ctype,"SHAPE_COLORLIST")==0)
- type = SHAPE_COLORLIST;
xmlFree(ctype);
}
else
@@ -1914,19 +1614,18 @@ add_xml_shape_to_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child)
if(!name)
name = (char *)xmlGetProp(xmlnode, BAD_CAST "name");
-
if(g_strcasecmp((char *)xmlnode->name, "Shape")==0)
{
/* add the shape to the database */
/* WARNING : I do not initialize the width and height since I don't need them */
- shape = create_shape(type, name, tooltip, pixmapfile ? pixmapfile : UNDEFINED, points,
- targetfile ? targetfile : UNDEFINED, x, y,
+ shape = create_shape(type, name, tooltip, pixmapfile , points,
+ targetfile, x, y,
(double)0, (double)0,
zoomx, zoomy, position,
- soundfile ? soundfile : UNDEFINED);
+ soundfile);
/* add the shape to the list */
- shape_list_init = g_list_append(shape_list_init, shape);
+ *list = g_list_append(*list, shape);
}
else if (g_strcasecmp((char *)xmlnode->name, "Title")==0)
{
@@ -1951,6 +1650,7 @@ add_xml_shape_to_data(xmlDocPtr doc, xmlNodePtr xmlnode, GNode * child)
static void
parse_doc(xmlDocPtr doc)
{
+ GList *shape_list_init = NULL;
xmlNodePtr node;
GList *list;
GnomeCanvasItem *item;
@@ -1961,7 +1661,7 @@ parse_doc(xmlDocPtr doc)
for(node = doc->children->children; node != NULL; node = node->next) {
/* add the shape to the list, there are no children so
we pass NULL as the node of the child */
- add_xml_shape_to_data(doc, node, NULL);
+ add_xml_shape_to_data(doc, node, NULL, &shape_list_init);
}
shape_list = g_list_copy(shape_list_init);
@@ -2032,11 +1732,6 @@ read_xml_file(char *fname)
}
/*--------------------------------------------------*/
- /* Read OkIfAddedName property */
- addedname = xmlGetProp_Double(doc->children, BAD_CAST "OkIfAddedName", INT_MAX);
- g_warning("addedname=%d\n", addedname);
-
- /*--------------------------------------------------*/
/* Read ShapeBox property */
shapeBox.x = xmlGetProp_Double(doc->children, BAD_CAST "shapebox_x", 15);
g_warning("shapeBox.x=%f\n", shapeBox.x);
@@ -2056,6 +1751,9 @@ read_xml_file(char *fname)
shapeBox.nb_shape_y = xmlGetProp_Double(doc->children, BAD_CAST "shapebox_nb_shape_y", 5);
g_warning("shapeBox.nb_shape_y=%d\n", shapeBox.nb_shape_y);
+ /* Read shadow enable property */
+ shadow_enable = xmlGetProp_Double(doc->children, BAD_CAST "shadow_enable", 1);
+
/* parse our document and replace old data */
parse_doc(doc);
@@ -2064,85 +1762,6 @@ read_xml_file(char *fname)
return TRUE;
}
-/* add a shape to xmlnode from node */
-static void
-write_shape_to_xml(xmlNodePtr xmlnode, Shape *shape)
-{
- xmlNodePtr newxml;
- gchar *tmp;
-
- g_return_if_fail(xmlnode!=NULL);
- g_return_if_fail(shape!=NULL);
-
- /* make a new xml node (as a child of xmlnode) with an
- empty content */
- newxml = xmlNewChild(xmlnode,NULL, BAD_CAST "Shape",NULL);
- /* set properties on it */
- xmlSetProp(newxml, BAD_CAST "name", BAD_CAST shape->name);
- if(shape->tooltip)
- xmlSetProp(newxml, BAD_CAST "tooltip", BAD_CAST shape->tooltip);
- xmlSetProp(newxml, BAD_CAST "pixmapfile", BAD_CAST shape->pixmapfile);
- xmlSetProp(newxml, BAD_CAST "sound", BAD_CAST shape->soundfile);
-
- tmp = g_strdup_printf("%f", shape->x);
- xmlSetProp(newxml, BAD_CAST "x", BAD_CAST tmp);
- g_free(tmp);
-
- tmp = g_strdup_printf("%f", shape->y);
- xmlSetProp(newxml, BAD_CAST "y", BAD_CAST tmp);
- g_free(tmp);
-
- tmp = g_strdup_printf("%f", shape->zoomx);
- xmlSetProp(newxml, BAD_CAST "zoomx", BAD_CAST tmp);
- g_free(tmp);
-
- tmp = g_strdup_printf("%f", shape->zoomy);
- xmlSetProp(newxml, BAD_CAST "zoomy", BAD_CAST tmp);
- g_free(tmp);
-
- tmp = g_strdup_printf("%d", shape->position);
- xmlSetProp(newxml, BAD_CAST "position", BAD_CAST tmp);
- g_free(tmp);
-
-}
-
-/* write an xml file
- * This is used only for creating shapegame boards
- */
-static gboolean
-write_xml_file(char *fname)
-{
- /* pointer to the new doc */
- xmlDocPtr doc;
- GList *list;
-
- g_return_val_if_fail(fname!=NULL,FALSE);
-
- /* create new xml document with version 1.0 */
- doc = xmlNewDoc( BAD_CAST "1.0");
- /* create a new root node "ShapeGame" */
- doc->children = xmlNewDocNode(doc, NULL, BAD_CAST "ShapeGame", NULL);
-
- /* loop through all our shapes */
- for(list = shape_list; list != NULL; list = list->next) {
- Shape *shape = list->data;
- if(shape->type!=SHAPE_ICON)
- write_shape_to_xml(doc->children, shape);
- }
-
- /* try to save the file */
- if(xmlSaveFile(fname,doc) == -1) {
- xmlFreeDoc(doc);
- return FALSE;
- }
-
- xmlFreeDoc(doc);
-
- return TRUE;
-}
-
-
-
/* ************************************* */
/* * Configuration * */
/* ************************************* */
@@ -2175,7 +1794,7 @@ static void conf_ok(GHashTable *table)
g_hash_table_foreach(table, (GHFunc) save_table, NULL);
- if ((gcomprisBoard) && (strcmp(gcomprisBoard->name, "imagename")==0)){
+ if (gcomprisBoard){
GHashTable *config;
if (profile_conf)
@@ -2183,13 +1802,24 @@ static void conf_ok(GHashTable *table)
else
config = table;
- gc_locale_reset();
+ if (strcmp(gcomprisBoard->name, "imagename")==0){
+ gc_locale_reset();
- gc_locale_set(g_hash_table_lookup( config, "locale"));
+ gc_locale_set(g_hash_table_lookup( config, "locale"));
+ }
+
+ gchar *drag_mode_str = g_hash_table_lookup( config, "drag_mode");
+
+ if (drag_mode_str && (strcmp (drag_mode_str, "NULL") != 0))
+ drag_mode = (gint ) g_ascii_strtod(drag_mode_str, NULL);
+ else
+ drag_mode = 0;
if (profile_conf)
g_hash_table_destroy(config);
+ gc_drag_change_mode( drag_mode);
+
shapegame_next_level();
pause_board(FALSE);
@@ -2222,9 +1852,21 @@ config_start(GcomprisBoard *agcomprisBoard,
/* init the combo to previously saved value */
GHashTable *config = gc_db_get_conf( profile_conf, board_conf);
- gchar *locale = g_hash_table_lookup( config, "locale");
+ if (strcmp(agcomprisBoard->name, "imagename")==0){
+ gchar *locale = g_hash_table_lookup( config, "locale");
+
+ gc_board_config_combo_locales( locale);
+ }
+
+ gchar *drag_mode_str = g_hash_table_lookup( config, "drag_mode");
+ gint drag_previous;
+
+ if (drag_mode_str && (strcmp (drag_mode_str, "NULL") != 0))
+ drag_previous = (gint ) g_ascii_strtod(drag_mode_str, NULL);
+ else
+ drag_previous = 0;
- gc_board_config_combo_locales( locale);
+ gc_board_config_combo_drag( drag_mode);
}
diff --git a/src/boards/smallnumbers.c b/src/boards/smallnumbers.c
index 08cac23..ca44c32 100644
--- a/src/boards/smallnumbers.c
+++ b/src/boards/smallnumbers.c
@@ -3,7 +3,7 @@
* Time-stamp: <2006/08/21 23:36:29 bruno>
*
* Copyright (C) 2000 Bruno Coudoin
- *
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
@@ -164,9 +164,9 @@ static void start_board (GcomprisBoard *agcomprisBoard)
gcomprisBoard->level = 1;
gcomprisBoard->maxlevel = 9;
gcomprisBoard->number_of_sublevel=10;
- gc_score_start(SCORESTYLE_NOTE,
- gcomprisBoard->width - 220,
- gcomprisBoard->height - 50,
+ gc_score_start(SCORESTYLE_NOTE,
+ gcomprisBoard->width - 220,
+ gcomprisBoard->height - 50,
gcomprisBoard->number_of_sublevel);
gc_bar_set(GC_BAR_CONFIG|GC_BAR_LEVEL);
@@ -236,14 +236,14 @@ static gint key_press(guint keyval, gchar *commit_str, gchar *preedit_str)
case GDK_Mode_switch:
case GDK_dead_circumflex:
case GDK_Num_Lock:
- return FALSE;
+ return FALSE;
}
sprintf(str, "%c", keyval);
keyval = atoi(str);
- g_list_foreach(GNOME_CANVAS_GROUP(boardRootItem)->item_list,
+ g_list_foreach(GNOME_CANVAS_GROUP(boardRootItem)->item_list,
(GFunc) smallnumbers_gotkey_item,
GINT_TO_POINTER(keyval));
@@ -273,7 +273,7 @@ is_our_board (GcomprisBoard *gcomprisBoard)
/*-------------------------------------------------------------------------------*/
/* set initial values for the next level */
-static void smallnumbers_next_level()
+static void smallnumbers_next_level()
{
gamewon = FALSE;
@@ -310,7 +310,7 @@ static void smallnumbers_destroy_all_items()
static void smallnumbers_gotkey_item(GnomeCanvasItem *item, guint key)
{
guint number;
-
+
if(G_OBJECT (item)) {
number = GPOINTER_TO_INT (g_object_get_data (G_OBJECT (item), "dice_number"));
@@ -330,7 +330,7 @@ static void smallnumbers_move_item(GnomeCanvasItem *item)
&y1,
&x2,
&y2);
-
+
if(y1>gcomprisBoard->height) {
player_loose();
gtk_object_destroy (GTK_OBJECT(item));
@@ -347,7 +347,7 @@ static gint smallnumbers_move_items (GtkWidget *widget, gpointer data)
/* For each item we need to move */
g_list_foreach(GNOME_CANVAS_GROUP(boardRootItem)->item_list, (GFunc) smallnumbers_move_item, NULL);
- dummy_id = gtk_timeout_add (speed,
+ dummy_id = gtk_timeout_add (speed,
(GtkFunction) smallnumbers_move_items, NULL);
return(FALSE);
@@ -444,12 +444,12 @@ static void smallnumbers_create_item(GnomeCanvasGroup *parent)
item = gnome_canvas_item_new (group_item,
gnome_canvas_pixbuf_get_type (),
- "pixbuf", smallnumbers_pixmap,
+ "pixbuf", smallnumbers_pixmap,
"x", x,
"y", (double) -gdk_pixbuf_get_height(smallnumbers_pixmap)*imageZoom,
"width", (double) gdk_pixbuf_get_width(smallnumbers_pixmap)*imageZoom,
"height", (double) gdk_pixbuf_get_height(smallnumbers_pixmap)*imageZoom,
- "width_set", TRUE,
+ "width_set", TRUE,
"height_set", TRUE,
NULL);
gdk_pixbuf_unref(smallnumbers_pixmap);
@@ -464,6 +464,7 @@ static void smallnumbers_create_item(GnomeCanvasGroup *parent)
*/
static gint smallnumbers_drop_items (GtkWidget *widget, gpointer data)
{
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
smallnumbers_create_item(boardRootItem);
drop_items_id = gtk_timeout_add (fallSpeed,
@@ -474,7 +475,7 @@ static gint smallnumbers_drop_items (GtkWidget *widget, gpointer data)
static void player_win(GnomeCanvasItem *item)
{
gtk_object_destroy (GTK_OBJECT(item));
- gc_sound_play_ogg ("sounds/gobble.ogg", NULL);
+ gc_sound_play_ogg ("sounds/flip.wav", NULL);
gcomprisBoard->sublevel++;
gc_score_set(gcomprisBoard->sublevel);
@@ -517,7 +518,7 @@ static GHFunc save_table (gpointer key,
{
gc_db_set_board_conf ( profile_conf,
board_conf,
- (gchar *) key,
+ (gchar *) key,
(gchar *) value);
return NULL;
@@ -540,19 +541,19 @@ static void conf_ok(GHashTable *table)
config = gc_db_get_board_conf();
else
config = table;
-
+
if (locale_sound)
g_free(locale_sound);
locale_sound = g_strdup(g_hash_table_lookup( config, "locale_sound"));
-
+
gchar *control_sound = g_hash_table_lookup( config, "with_sound");
-
+
if (control_sound && strcmp(g_hash_table_lookup( config, "with_sound"),"True")==0)
with_sound = TRUE;
else
with_sound = FALSE;
-
+
if (profile_conf)
g_hash_table_destroy(config);
@@ -585,7 +586,7 @@ smallnumber_config_start(GcomprisBoard *agcomprisBoard,
pause_board(TRUE);
gchar *label;
-
+
label = g_strdup_printf("<b>%s</b> configuration\n for profile <b>%s</b>",
agcomprisBoard->name, aProfile ? aProfile->name : "");
@@ -605,24 +606,24 @@ smallnumber_config_start(GcomprisBoard *agcomprisBoard,
with_sound = FALSE;
GtkCheckButton *sound_control = gc_board_config_boolean_box("Enable sounds", "with_sound", with_sound);
-
+
GtkComboBox *sound_box = gc_board_config_combo_locales_asset( "Select sound locale",
saved_locale_sound,
"sounds/$LOCALE/colors/purple.ogg");
gtk_widget_set_sensitive(GTK_WIDGET(sound_box), with_sound);
- g_signal_connect(G_OBJECT(sound_control), "toggled",
+ g_signal_connect(G_OBJECT(sound_control), "toggled",
G_CALLBACK(sound_control_box_toggled),
sound_box);
g_hash_table_destroy(config);
-}
+}
/* ======================= */
/* = config_stop = */
/* ======================= */
-static void
+static void
smallnumber_config_stop()
{
}
diff --git a/src/boards/submarine.c b/src/boards/submarine.c
index 1aaea62..06c58d2 100644
--- a/src/boards/submarine.c
+++ b/src/boards/submarine.c
@@ -1106,18 +1106,21 @@ static gboolean update_timeout_very_slow() {
( ballast_av_chasse_open && ballast_av_air == MAX_BALLAST ) ) {
gc_item_absolute_move( bubbling[0], submarine_x-30.0, depth-50.0);
gnome_canvas_item_show( bubbling[0] );
+ gc_sound_play_ogg ("sounds/bubble.wav", NULL);
} else
gnome_canvas_item_hide( bubbling[0] );
if ( (ballast_ar_purge_open && ballast_ar_air > 0.0) ||
( ballast_ar_chasse_open && ballast_ar_air == MAX_BALLAST ) ) {
gc_item_absolute_move( bubbling[2], submarine_x - SUBMARINE_WIDTH , depth-30.0);
+ gc_sound_play_ogg ("sounds/bubble.wav", NULL);
gnome_canvas_item_show( bubbling[2] );
} else
gnome_canvas_item_hide( bubbling[2] );
if (regleur_purge_open && regleur < MAX_REGLEUR) {
gc_item_absolute_move( bubbling[1], submarine_x - SUBMARINE_WIDTH/2 -30.0, depth-30.0);
+ gc_sound_play_ogg ("sounds/bubble.wav", NULL);
gnome_canvas_item_show( bubbling[1] );
} else
gnome_canvas_item_hide( bubbling[1] );
@@ -1169,6 +1172,7 @@ static gint ballast_av_purge_event(GnomeCanvasItem *item, GdkEvent *event, gpoin
switch (event->type)
{
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
ballast_av_purge_open = !ballast_av_purge_open;
if (ballast_av_purge_open)
gc_item_rotate(item, 90.0);
@@ -1192,6 +1196,7 @@ static gint ballast_ar_purge_event(GnomeCanvasItem *item, GdkEvent *event, gpoin
switch (event->type)
{
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
ballast_ar_purge_open = !ballast_ar_purge_open;
if (ballast_ar_purge_open)
gc_item_rotate(item, 90.0);
@@ -1214,6 +1219,7 @@ static gint regleur_purge_event(GnomeCanvasItem *item, GdkEvent *event, gpointer
switch (event->type)
{
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
regleur_purge_open = !regleur_purge_open;
if (regleur_purge_open)
gc_item_rotate(item, 90.0);
@@ -1236,6 +1242,7 @@ static gint ballast_ar_chasse_event(GnomeCanvasItem *item, GdkEvent *event, gpoi
switch (event->type)
{
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
ballast_ar_chasse_open = !ballast_ar_chasse_open;
if (ballast_ar_chasse_open)
gc_item_rotate(item, 90.0);
@@ -1258,6 +1265,7 @@ static gint ballast_av_chasse_event(GnomeCanvasItem *item, GdkEvent *event, gpoi
switch (event->type)
{
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
ballast_av_chasse_open = !ballast_av_chasse_open;
if (ballast_av_chasse_open)
gc_item_rotate(item, 90.0);
@@ -1280,6 +1288,7 @@ static gint regleur_chasse_event(GnomeCanvasItem *item, GdkEvent *event, gpointe
switch (event->type)
{
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
regleur_chasse_open = !regleur_chasse_open;
if (regleur_chasse_open)
gc_item_rotate(item, 90.0);
@@ -1304,6 +1313,7 @@ static gint barre_av_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data
switch (event->type)
{
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
if (d == UP && barre_av_angle < RUDDER_MAX) {
barre_av_angle += RUDDER_STEP;
gc_item_rotate_with_center( barre_av_item, barre_av_angle,RUDDER_CENTER_X,RUDDER_CENTER_Y);
@@ -1331,6 +1341,7 @@ static gint barre_ar_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data
switch (event->type)
{
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
if (d == UP && barre_ar_angle < RUDDER_MAX) {
barre_ar_angle += RUDDER_STEP;
gc_item_rotate_with_center( barre_ar_item, barre_ar_angle,RUDDER_CENTER_X,RUDDER_CENTER_Y);
@@ -1358,6 +1369,7 @@ static gint engine_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data)
switch (event->type)
{
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
if (d == UP) {
speed_ordered += SPEED_STEP;
}
@@ -1385,6 +1397,7 @@ static gint air_compressor_event(GnomeCanvasItem *item, GdkEvent *event, gpointe
switch (event->type)
{
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
if (air_charging)
air_charging = FALSE;
else
@@ -1406,6 +1419,7 @@ static gint battery_charger_event(GnomeCanvasItem *item, GdkEvent *event, gpoint
switch (event->type)
{
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
if (battery_charging)
battery_charging = FALSE;
else
diff --git a/src/boards/target.c b/src/boards/target.c
index 29466a9..70cad87 100644
--- a/src/boards/target.c
+++ b/src/boards/target.c
@@ -606,6 +606,8 @@ static void animate_items()
if(animate_item_distance-- == 0)
{
+ gc_sound_play_ogg ("sounds/brick.wav", NULL);
+
gtk_timeout_remove (animate_id);
animate_id = 0;
animate_item = NULL;
@@ -630,6 +632,8 @@ static void launch_dart(double item_x, double item_y)
animate_item_size = MAX_DART_SIZE;
animate_item_distance = targetDefinition[gcomprisBoard->level-1].target_distance/10;
+ gc_sound_play_ogg ("sounds/line_end.wav", NULL);
+
animate_item = gnome_canvas_item_new (boardRootItem,
gnome_canvas_ellipse_get_type(),
"x1", (double)item_x-MAX_DART_SIZE,
diff --git a/src/boards/wordprocessor.c b/src/boards/wordprocessor.c
index 768e775..91a38f6 100644
--- a/src/boards/wordprocessor.c
+++ b/src/boards/wordprocessor.c
@@ -546,7 +546,8 @@ display_style_selector(GnomeCanvasGroup *boardRootItem)
gtk_combo_filetypes = gtk_combo_box_new_text();
while (i < NUMBER_OF_DOCTYPE)
- gtk_combo_box_append_text(GTK_COMBO_BOX(gtk_combo_filetypes), doctype_list[i++]->name);
+ gtk_combo_box_append_text(GTK_COMBO_BOX(gtk_combo_filetypes),
+ gettext(doctype_list[i++]->name));
gnome_canvas_item_new (GNOME_CANVAS_GROUP(boardRootItem),
gnome_canvas_widget_get_type (),
@@ -580,7 +581,8 @@ display_color_style_selector(GnomeCanvasGroup *boardRootItem)
gtk_combo_filetypes = gtk_combo_box_new_text();
while (i < NUMBER_OF_COLOR_STYLE)
- gtk_combo_box_append_text(GTK_COMBO_BOX(gtk_combo_filetypes), color_style_list[i++][0]);
+ gtk_combo_box_append_text(GTK_COMBO_BOX(gtk_combo_filetypes),
+ gettext(color_style_list[i++][0]));
gnome_canvas_item_new (GNOME_CANVAS_GROUP(boardRootItem),
gnome_canvas_widget_get_type (),
@@ -632,7 +634,7 @@ item_event_style_selection (GtkComboBox *widget,
for(i=0; i<NUMBER_OF_DOCTYPE; i++)
{
printf(" trying i=%d %s\n", i, doctype_list[i]->name);
- if(strcmp(doctype_list[i]->name, style_str)==0)
+ if(strcmp(gettext(doctype_list[i]->name), style_str)==0)
{
/* Change the tag */
int j = 0;
@@ -666,7 +668,7 @@ item_event_color_style_selection (GtkComboBox *widget,
for(i=0; i<NUMBER_OF_COLOR_STYLE; i++)
{
printf(" trying i=%d %s\n", i, color_style_list[i][0]);
- if(strcmp(color_style_list[i][0], style_str)==0)
+ if(strcmp(gettext(color_style_list[i][0]), style_str)==0)
{
int j;
/* Change the color */
diff --git a/src/boards/wordsgame.c b/src/boards/wordsgame.c
index 51d5e61..ac6029e 100644
--- a/src/boards/wordsgame.c
+++ b/src/boards/wordsgame.c
@@ -660,6 +660,7 @@ static void wordsgame_add_new_item()
*/
static gint wordsgame_drop_items (GtkWidget *widget, gpointer data)
{
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
wordsgame_add_new_item();
g_source_remove(drop_items_id);
drop_items_id = g_timeout_add (fallSpeed,(GtkFunction) wordsgame_drop_items, NULL);
@@ -670,7 +671,7 @@ static gint wordsgame_drop_items (GtkWidget *widget, gpointer data)
static void player_win(LettersItem *item)
{
- gc_sound_play_ogg ("sounds/gobble.ogg", NULL);
+ gc_sound_play_ogg ("sounds/flip.wav", NULL);
g_assert(gcomprisBoard!=NULL);
diff --git a/src/gc_sound/configure.in b/src/gc_sound/configure.in_ALONE
index 0401257..0401257 100644
--- a/src/gc_sound/configure.in
+++ b/src/gc_sound/configure.in_ALONE
diff --git a/src/gc_sound/python/Makefile.am b/src/gc_sound/python/Makefile.am
index e7e3cee..53498f4 100644
--- a/src/gc_sound/python/Makefile.am
+++ b/src/gc_sound/python/Makefile.am
@@ -1,12 +1,13 @@
-INCLUDES = $(PYTHON_INCLUDES) $(PYGTK_CFLAGS)
+#INCLUDES = $(PYTHON_INCLUDES) $(PYGTK_CFLAGS)
+INCLUDES = $(PYTHON_CFLAGS) $(PYGTK_CFLAGS)
defsdir = $(datadir)/pygtk/2.0/defs
defs_DATA = gc_sound.defs
EXTRA_DIST = $(defs_DATA)
-pkgpythondir = $(pyexecdir)/gtk-2.0
-pkgpyexecdir = $(pyexecdir)/gtk-2.0
+pkgpythondir = $(pyexecdir)
+pkgpyexecdir = $(pyexecdir)
common_ldflags = -module -avoid-version
diff --git a/src/gc_sound/src/Makefile.am b/src/gc_sound/src/Makefile.am
index 1143680..15292c8 100644
--- a/src/gc_sound/src/Makefile.am
+++ b/src/gc_sound/src/Makefile.am
@@ -3,9 +3,11 @@
#
lib_LTLIBRARIES = libgcsound-2.la
-libgcsound_2_la_CFLAGS= $(SDL_CFLAGS) $(GC_SOUND_CFLAGS)
+#libgcsound_2_la_CFLAGS= $(SDL_CFLAGS) $(GC_SOUND_CFLAGS)
+#libgcsound_2_la_LDFLAGS= $(SDL_LIBS) $(GC_SOUND_LIBS)
-libgcsound_2_la_LDFLAGS= $(SDL_LIBS) $(GC_SOUND_LIBS)
+libgcsound_2_la_CFLAGS= $(SDL_CFLAGS) $(GCOMPRIS_CFLAGS)
+libgcsound_2_la_LDFLAGS= $(SDL_LIBS) $(GCOMPRIS_LIBS)
libgcsoundincludedir = $(includedir)/gcompris/gcsound
diff --git a/src/gc_sound/src/gc-sound-channel.c b/src/gc_sound/src/gc-sound-channel.c
index 1eba4f3..9c2bf17 100644
--- a/src/gc_sound/src/gc-sound-channel.c
+++ b/src/gc_sound/src/gc-sound-channel.c
@@ -18,6 +18,7 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include <gc-sound-channel.h>
+#include <gc-sound-item.h>
#include <gc-sound-marshallers.h>
/* signals */
@@ -130,7 +131,7 @@ static void gc_sound_channel_destroy (GcSoundObject *self);
static void root_destroyed (GcSoundObject *root, gpointer data)
{
if (!(GC_SOUND_OBJECT_FLAGS (GC_SOUND_OBJECT(data)) & GC_SOUND_IN_DESTRUCTION))
- gc_sound_channel_destroy (GC_SOUND_CHANNEL(data));
+ gc_sound_channel_destroy (GC_SOUND_OBJECT(data));
// direct call claas destroy because root is already destroyed.
//GC_SOUND_OBJECT_GET_CLASS(data)->destroy (GC_SOUND_OBJECT(data));
}
@@ -176,7 +177,6 @@ gc_sound_channel_init(GcSoundChannel* self)
static void
gc_sound_channel_get_property(GObject* object, guint prop_id, GValue* value, GParamSpec* pspec)
{
- GcSoundChannel *self = GC_SOUND_CHANNEL(object);
switch(prop_id) {
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
@@ -187,8 +187,6 @@ gc_sound_channel_get_property(GObject* object, guint prop_id, GValue* value, GPa
static void
gc_sound_channel_set_property(GObject* object, guint prop_id, GValue const* value, GParamSpec* pspec)
{
- GcSoundChannel *self = GC_SOUND_CHANNEL(object);
-
switch(prop_id) {
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID(object, prop_id, pspec);
@@ -212,7 +210,6 @@ gc_sound_channel_signal_chunk_end (GcSoundChannel *self)
static void
gc_sound_channel_signal_run (GcSoundChannel *self)
{
- GList *item_root;
gboolean ret;
while (g_list_length(self->playlist)>0)
diff --git a/src/gc_sound/src/gc-sound-item.c b/src/gc_sound/src/gc-sound-item.c
index 275a90f..05b6fa0 100644
--- a/src/gc_sound/src/gc-sound-item.c
+++ b/src/gc_sound/src/gc-sound-item.c
@@ -253,7 +253,6 @@ gc_sound_item_init(GcSoundItem* self)
self->children = NULL;
//debug. will be removed
- gchar * nick;
//internal use
// TRUE if we are in running play tree.
diff --git a/src/gc_sound/src/gc-sound-item.h b/src/gc_sound/src/gc-sound-item.h
index 2676cef..cf06e62 100644
--- a/src/gc_sound/src/gc-sound-item.h
+++ b/src/gc_sound/src/gc-sound-item.h
@@ -95,6 +95,11 @@ void gc_sound_item_set_filename (GcSoundItem *self, gchar *filename);
gchar * gc_sound_item_get_filename (GcSoundItem *self);
+GcSoundPolicy gc_sound_item_get_policy (GcSoundItem *self);
+
+gboolean gc_sound_item_set_policy (GcSoundItem * self,
+ GcSoundPolicy policy);
+
void gc_sound_item_set_loop(GcSoundItem *self, gboolean loop);
G_END_DECLS
diff --git a/src/gc_sound/src/gc-sound-mixer-SDL.c b/src/gc_sound/src/gc-sound-mixer-SDL.c
index 64727da..3092d0f 100644
--- a/src/gc_sound/src/gc-sound-mixer-SDL.c
+++ b/src/gc_sound/src/gc-sound-mixer-SDL.c
@@ -197,6 +197,8 @@ gboolean gc_sound_mixer_sdl_pause (GcSoundMixer * mix
Mix_Pause(-1);
self->paused = TRUE;
+
+ return TRUE;
}
gboolean
@@ -214,6 +216,8 @@ gc_sound_mixer_sdl_resume (GcSoundMixer * mixer)
}
Mix_Resume(-1);
self->paused = FALSE;
+
+ return TRUE;
}
gboolean
@@ -226,24 +230,24 @@ gc_sound_mixer_sdl_halt (GcSoundMixer * mixer)
self = GC_SOUND_MIXER_SDL(mixer);
Mix_HaltChannel(-1);
+
+ return TRUE;
}
gboolean
gc_sound_mixer_sdl_pause_channel (GcSoundMixer * mixer, GcSoundChannel * channel)
{
- GcSoundMixerSdl* self;
-
g_return_val_if_fail(GC_IS_SOUND_MIXER_SDL(mixer), FALSE);
g_return_val_if_fail(GC_IS_SOUND_CHANNEL(channel), FALSE);
Mix_Pause (channel->channel_number);
+
+ return TRUE;
}
gboolean
gc_sound_mixer_sdl_resume_channel (GcSoundMixer * mixer, GcSoundChannel * channel)
{
- GcSoundMixerSdl* self;
-
g_return_val_if_fail(GC_IS_SOUND_MIXER_SDL(mixer), FALSE);
g_return_val_if_fail(GC_IS_SOUND_CHANNEL(channel), FALSE);
@@ -255,8 +259,6 @@ gc_sound_mixer_sdl_resume_channel (GcSoundMixer * mixer, GcSoundChannel * cha
gboolean
gc_sound_mixer_sdl_halt_channel (GcSoundMixer * mixer, GcSoundChannel * channel)
{
- GcSoundMixerSdl* self;
-
g_return_val_if_fail(GC_IS_SOUND_MIXER_SDL(mixer), FALSE);
g_return_val_if_fail(GC_IS_SOUND_CHANNEL(channel), FALSE);
diff --git a/src/gcompris/Makefile.am b/src/gcompris/Makefile.am
index f796882..70f3ff3 100644
--- a/src/gcompris/Makefile.am
+++ b/src/gcompris/Makefile.am
@@ -93,7 +93,6 @@ libgcomprisinclude_HEADERS = \
binreloc.h \
bonus.h \
gc_core.h \
- cursor.h \
gameutil.h \
gc_net.h \
gcompris.h \
@@ -112,6 +111,7 @@ libgcomprisinclude_HEADERS = \
skin.h \
soundutil.h \
timer.h \
+ drag.h \
$(cairo_h)
libgcompris_1_la_SOURCES = \
@@ -124,7 +124,6 @@ libgcompris_1_la_SOURCES = \
board_config.h board_config.c \
bonus.c \
config.c \
- cursor.c \
dialog.c \
file_selector.c \
gameutil.c \
@@ -148,6 +147,7 @@ libgcompris_1_la_SOURCES = \
soundutil.c \
timer.c \
wordlist.c \
+ drag.c \
$(profile_c) \
$(cairo_c)
@@ -160,9 +160,9 @@ marshal_sources = \
BUILT_SOURCES = \
$(marshal_sources)
-gcompris-marshal.h: gcompris-marshal.list $(GLIB_GENMARSHAL)
+gcompris-marshal.h: gcompris-marshal.list
$(GLIB_GENMARSHAL) $< --header --prefix=gnome_canvas_marshal > $@
-gcompris-marshal.c: gcompris-marshal.list $(GLIB_GENMARSHAL)
+gcompris-marshal.c: gcompris-marshal.list
$(GLIB_GENMARSHAL) $< --body --prefix=gnome_canvas_marshal > $@
EXTRA_DIST = \
diff --git a/src/gcompris/Makefile.mingw b/src/gcompris/Makefile.mingw
index 693d213..7d1c677 100644
--- a/src/gcompris/Makefile.mingw
+++ b/src/gcompris/Makefile.mingw
@@ -95,7 +95,6 @@ EXE_C_SRC = \
bonus.c \
cache.c \
config.c \
- cursor.c \
dialog.c \
file_selector.c \
gameutil.c \
diff --git a/src/gcompris/about.c b/src/gcompris/about.c
index 0510767..8e308df 100644
--- a/src/gcompris/about.c
+++ b/src/gcompris/about.c
@@ -55,7 +55,7 @@ void gc_about_start ()
GnomeCanvasItem *item, *item2;
static gchar *content =
N_("Author: Bruno Coudoin\n"
- "Contribution: Pascal Georges, Jose Jorge\n"
+ "Contribution: Pascal Georges, Jose Jorge, Yves Combe\n"
"Graphics: Renaud Blanchard, Franck Doucet\n"
"Intro Music: Djilali Sebihi\n"
"Background Music: Rico Da Halvarez\n"
diff --git a/src/gcompris/bar.c b/src/gcompris/bar.c
index b4ddc9a..bb5ac5b 100644
--- a/src/gcompris/bar.c
+++ b/src/gcompris/bar.c
@@ -488,6 +488,7 @@ item_event_bar(GnomeCanvasItem *item, GdkEvent *event, gchar *data)
break;
case GDK_BUTTON_PRESS:
bar_reset_sound_id();
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
/* This is not perfect clean but it makes it easy to remove the help window
by clicking on any button in the bar */
diff --git a/src/gcompris/board_config.c b/src/gcompris/board_config.c
index e9421ba..1c80515 100644
--- a/src/gcompris/board_config.c
+++ b/src/gcompris/board_config.c
@@ -730,6 +730,100 @@ gc_board_config_combo_locales(gchar *init)
}
+void
+gc_board_config_combo_drag_changed(GtkComboBox *combobox,
+ gpointer key)
+{
+ gchar *the_key = g_strdup((gchar *)key);
+ gchar *value;
+ gint index = gtk_combo_box_get_active (combobox);
+
+ if (index == 0)
+ /* Default value of gcompris selected */
+ value = g_strdup ("NULL");
+ else
+ value = g_strdup_printf("%d", index);
+
+ g_hash_table_replace(hash_conf, (gpointer) the_key, (gpointer) value);
+}
+
+/* key = "locale" */
+GtkComboBox*
+gc_board_config_combo_drag(gint init)
+{
+
+ GtkWidget *combobox;
+ GtkWidget *hbox = gtk_hbox_new (FALSE, 8);
+ GList *list, *strings;
+ GtkWidget *label_combo;
+ gint init_index;
+
+ strings = NULL;
+
+ strings = g_list_prepend( strings, _("Global GCompris mode"));
+ strings = g_list_append( strings, _("Normal"));
+ strings = g_list_append( strings, _("2 clicks"));
+ strings = g_list_append( strings, _("both modes"));
+
+ if (init < 0)
+ init_index =0;
+ else
+ init_index = init;
+
+ gtk_widget_show(hbox);
+
+ gtk_box_pack_start (GTK_BOX(main_conf_box),
+ hbox,
+ FALSE,
+ FALSE,
+ 0);
+
+ /* Label */
+ label_combo = gtk_label_new ((gchar *)NULL);
+ gtk_widget_show(label_combo);
+ gtk_box_pack_start (GTK_BOX(hbox),
+ label_combo,
+ FALSE,
+ FALSE,
+ 0);
+
+ gtk_label_set_justify (GTK_LABEL(label_combo),
+ GTK_JUSTIFY_RIGHT);
+
+ gtk_label_set_markup (GTK_LABEL(label_combo),
+ _("Select the drag and drop mode\n to use in the board"));
+
+ combobox = gtk_combo_box_new_text();
+
+ gtk_widget_show(combobox);
+
+ gtk_box_pack_start (GTK_BOX(hbox),
+ combobox,
+ FALSE,
+ FALSE,
+ 0);
+
+
+ for (list = strings; list != NULL; list = list->next)
+ gtk_combo_box_append_text (GTK_COMBO_BOX(combobox),
+ list->data);
+
+ if (g_list_length(strings) > COMBOBOX_COL_MAX)
+ gtk_combo_box_set_wrap_width (GTK_COMBO_BOX(combobox),
+ g_list_length(strings) / COMBOBOX_COL_MAX +1 );
+
+ gtk_combo_box_set_active (GTK_COMBO_BOX(combobox),
+ init_index);
+
+ g_signal_connect(G_OBJECT(combobox),
+ "changed",
+ G_CALLBACK(gc_board_config_combo_drag_changed),
+ "drag_mode");
+
+ return GTK_COMBO_BOX(combobox);
+
+}
+
static gchar *current_locale = NULL;
void
gc_locale_change(gchar *locale)
diff --git a/src/gcompris/board_config.h b/src/gcompris/board_config.h
index 23b5f71..38911e5 100644
--- a/src/gcompris/board_config.h
+++ b/src/gcompris/board_config.h
@@ -66,6 +66,8 @@ GList *gc_locale_gets_list();
GtkComboBox *gc_board_config_combo_locales( gchar *init);
+GtkComboBox *gc_board_config_combo_drag( gint init);
+
void gc_locale_change(gchar *locale);
void gc_locale_reset();
diff --git a/src/gcompris/config.c b/src/gcompris/config.c
index e3e7e7e..f3a1b5d 100644
--- a/src/gcompris/config.c
+++ b/src/gcompris/config.c
@@ -82,6 +82,7 @@ static gchar *linguas[] = {
"hr_HR.UTF-8", N_("Croatian"),
"it_IT.UTF-8", N_("Italian"),
"ka_GE.UTF-8", N_("Georgian"),
+ "ko_KR.UTF-8", N_("Korean"),
"lt_LT.UTF-8", N_("Lithuanian"),
"mk_MK.UTF-8", N_("Macedonian"),
"ml_IN.UTF-8", N_("Malayalam"),
@@ -746,13 +747,9 @@ item_event_ok(GnomeCanvasItem *item, GdkEvent *event, gpointer data)
{
if(!properties->music)
sdlplayer_halt_music();
- else
- sdlplayer_resume_music();
if(!properties->fx)
sdlplayer_halt_fx();
- else
- sdlplayer_resume_fx();
}
gc_prop_save(properties);
}
diff --git a/src/gcompris/cursor.c b/src/gcompris/cursor.c
deleted file mode 100644
index a7c4c1b..0000000
--- a/src/gcompris/cursor.c
+++ /dev/null
@@ -1,89 +0,0 @@
-/* gcompris - cursor.c
- *
- * Copyright (C) 2002 Pascal Georges
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#include "gcompris.h"
-
-/* =====================================================================
- * This function is taken from stickers game
- * by Paul Kienzle and Tanya Riseman <stickers@kienzle.powernet.co.uk>
- * =====================================================================*/
-/* A routine that ought to be in the gdk library: build a cursor from
- * a text layout with '1' for foreground, '0' for background and ' '
- * for transparent.
- */
- /* If I got a function to generate mask, I could have used in gdk.h :
- GdkCursor* gdk_cursor_new_from_pixmap (GdkPixmap *source,
- GdkPixmap *mask,
- GdkColor *fg,
- GdkColor *bg,
- gint x,
- gint y);*/
-GdkCursor *gdk_cursor_new_from_data(const gchar *bits[],
- gint width, gint height,
- GdkColor *fg, GdkColor *bg,
- gint hot_x, gint hot_y)
-{
- GdkBitmap *bitmap, *mask;
- GdkCursor *cursor;
- guchar *data, *ptr;
- gint i, j;
-
- /* Though it does not say so on the X11 manual pages, the bitmap
- * format consists of scan lines padded to byte boundaries with the
- * bits in "reverse" order within each byte (lo bits come before hi
- * bits in the bitmap). I assume this representation is platform
- * independent. Let me know if it doesn't work for you. */
-
- /* Create space for the bitmap, padding the scanlines to byte boundaries. */
- data = g_new(guchar, ((width+7)/8)*height);
-
- /* Build bitmap */
- ptr = data;
- for (i=0; i < height; i++) {
- for (j=0; j < width; j++) {
- *ptr = (*ptr >> 1)|(bits[i][j]=='1'?0x80:0);
- if (j%8 == 7) ptr++;
- }
- if (j%8) *ptr++ >>= 8-j%8;
- }
- bitmap = gdk_bitmap_create_from_data(NULL, (gchar *)data, width, height);
-
- /* Build mask */
- ptr = data;
- for (i=0; i < height; i++) {
- for (j=0; j < width; j++) {
- *ptr = (*ptr >> 1)|(bits[i][j]==' '?0:0x80);
- if (j%8 == 7) ptr++;
- }
- if (j%8) *ptr++ >>= 8-j%8;
- }
- mask = gdk_bitmap_create_from_data(NULL, (gchar *)data, width, height);
-
- /* Build cursor from bitmap and mask */
- cursor = gdk_cursor_new_from_pixmap(bitmap, mask, /* Image and mask */
- fg, bg, /* colors */
- hot_x, hot_y); /* Hot point */
-
- /* No longer need bitmap or mask */
- gdk_pixmap_unref(bitmap);
- gdk_pixmap_unref(mask);
- g_free(data);
-
- return cursor;
-}
diff --git a/src/gcompris/cursor.h b/src/gcompris/cursor.h
deleted file mode 100644
index cd52f57..0000000
--- a/src/gcompris/cursor.h
+++ /dev/null
@@ -1,455 +0,0 @@
-/* gcompris - cursor.h
- *
- * Copyright (C) 2002 Pascal Georges
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-#ifndef CURSOR_H
-#define CURSOR_H
-
-#include <gtk/gtk.h>
-
-#include <stdio.h>
-
-GdkCursor *gdk_cursor_new_from_data(const gchar *bits[],
- gint width, gint height,
- GdkColor *fg, GdkColor *bg,
- gint hot_x, gint hot_y);
-
-/* Bitmap data of cursor */
-static const gchar *big_red_arrow_cursor_bits[] = {
-"111111 ",
-"1000011111 ",
-"1000000001111 ",
-"1000000000001111 ",
-"10000000000000011111 ",
-"1000000000000000000111 ",
-"10000000000000000000011111 ",
-"10000000000000000000000001111 ",
-"1000000000000000000000000000111 ",
-"10000000000000000000000000000011 ",
-"100000000000000000000000000000011 ",
-"100000000000000000000000000000001 ",
-"100000000000000000000000000000001 ",
-"100000000000000000000000000000001 ",
-"100000000000000000000000000000111 ",
-"1000000000000000000000000011111 ",
-"100000000000000000000000111 ",
-"1000000000000000000001111 ",
-"1000000000000000000001 ",
-"1000000000000000000001 ",
-"1000000000000000000001 ",
-"10000000000000000000011 ",
-"100000000000000000000011 ",
-"1000000000000000000000011 ",
-"10000000000000000000000011 ",
-"1000000000000111110000000111 ",
-"10000000001111 110000000011 ",
-" 1000000011 100000000011 ",
-" 110000111 1110000000011 ",
-" 111111 100000000011 ",
-" 1000000000011 ",
-" 1100000000001 ",
-" 100000000001 ",
-" 10000000001 ",
-" 11000000001 ",
-" 1000000001 ",
-" 1100000011 ",
-" 11000011 ",
-" 110011 ",
-" 11 "};
-
-static const gchar *bird_cursor_bits[] = {
-" 111 ",
-" 11000001 ",
-" 1110001000001 ",
-"110000000000001 ",
-" 11100000000001 ",
-" 0000000000011 ",
-" 100000000011111 ",
-" 000000010000111 ",
-" 0000000000000111 ",
-" 00000010000000011 ",
-" 100000000000000011 ",
-" 0000000000000000011 ",
-" 10000000100000000011 ",
-" 0000000000000000011 ",
-" 10000001000000000011 ",
-" 0000000000000000001 ",
-" 10000000000000000011 ",
-" 00000000000000000011 ",
-" 0000000000000000011 ",
-" 000000000000000011 ",
-" 1000000000000000011 ",
-" 10000000000000011 ",
-" 1000000000000001 ",
-" 100000000000011 ",
-" 11000000111111 ",
-" 100000000011 ",
-" 11000000001 ",
-" 10000001 ",
-" 10001 ",
-" 00001 ",
-" 100001 ",
-" 00000 ",
-" 100001 ",
-" 1000001 ",
-" 1000001 ",
-" 0000001",
-" 0000000",
-" 1000001",
-" 10000 ",
-" 01 "};
-
-/* Bitmap data of a line */
-static const gchar *big_red_line_cursor_bits[] = {
-"1111111111111111111111111 ",
-"111111111111111111111111 ",
-"1100000000000000000111 ",
-"11000000000000000111 ",
-"110000000000000111 ",
-"1100000000000111 ",
-"11000000000111 ",
-"110000000011 ",
-"1100000000011 ",
-"11000000000011 ",
-"110000110000011 ",
-"1100001110000011 ",
-"1100011 11000011 ",
-"1100011 1100011 ",
-"110011 110011 ",
-"110011 11111 ",
-"11011 ",
-"11011 ",
-"1111 11111 ",
-"1111 111111 ",
-"111 1100011 ",
-"111 11000011 ",
-"11 110000011 ",
-"1 110000011 ",
-" 110000011 ",
-" 110000011 ",
-" 110000011 ",
-" 110000011 ",
-" 110000011 ",
-" 110000011 ",
-" 110000011 ",
-" 110000011 ",
-" 110000011 ",
-" 110000011 ",
-" 110000011 ",
-" 110000011",
-" 11000011",
-" 1100011",
-" 111111",
-" 11111"};
-
-// Bitmap data of a rectangle
-static const gchar *big_red_rectangle_cursor_bits[] = {
-"1111111111111111111111111 ",
-"111111111111111111111111 ",
-"1100000000000000000111 ",
-"11000000000000000111 ",
-"110000000000000111 ",
-"1100000000000111 ",
-"11000000000111 ",
-"110000000011 ",
-"1100000000011 ",
-"11000000000011 ",
-"110000110000011 ",
-"1100001110000011 ",
-"1100011 11000011 ",
-"1100011 1100011 ",
-"110011 110011 ",
-"110011 11111 ",
-"11011 ",
-"11011 ",
-"1111 11111111111111111111111",
-"1111 11111111111111111111111",
-"111 11000000000000000000011",
-"111 110 011",
-"11 110 011",
-"1 110 011",
-" 110 011",
-" 110 011",
-" 110 011",
-" 110 011",
-" 110 011",
-" 110 011",
-" 110 011",
-" 110 011",
-" 110 011",
-" 110 011",
-" 110 011",
-" 110 011",
-" 110 011",
-" 11000000000000000000011",
-" 11111111111111111111111",
-" 11111111111111111111111"};
-
-// Bitmap data of a rectangle
-static const gchar *big_red_filledrectangle_cursor_bits[] = {
-"1111111111111111111111111 ",
-"111111111111111111111111 ",
-"1100000000000000000111 ",
-"11000000000000000111 ",
-"110000000000000111 ",
-"1100000000000111 ",
-"11000000000111 ",
-"110000000011 ",
-"1100000000011 ",
-"11000000000011 ",
-"110000110000011 ",
-"1100001110000011 ",
-"1100011 11000011 ",
-"1100011 1100011 ",
-"110011 110011 ",
-"110011 11111 ",
-"11011 ",
-"11011 ",
-"1111 11111111111111111111111",
-"1111 11111111111111111111111",
-"111 11000000000000000000011",
-"111 11000000000000000000011",
-"11 11000000000000000000011",
-"1 11000000000000000000011",
-" 11000000000000000000011",
-" 11000000000000000000011",
-" 11000000000000000000011",
-" 11000000000000000000011",
-" 11000000000000000000011",
-" 11000000000000000000011",
-" 11000000000000000000011",
-" 11000000000000000000011",
-" 11000000000000000000011",
-" 11000000000000000000011",
-" 11000000000000000000011",
-" 11000000000000000000011",
-" 11000000000000000000011",
-" 11000000000000000000011",
-" 11111111111111111111111",
-" 11111111111111111111111"};
-
-static const gchar *big_red_circle_cursor_bits[] = {
-"1111111111111111111111111 ",
-"111111111111111111111111 ",
-"1100000000000000000111 ",
-"11000000000000000111 ",
-"110000000000000111 ",
-"1100000000000111 ",
-"11000000000111 ",
-"110000000011 ",
-"1100000000011 ",
-"11000000000011 ",
-"110000110000011 ",
-"1100001110000011 ",
-"1100011 11000011 ",
-"1100011 1100011 ",
-"110011 110011 ",
-"110011 11111 ",
-"11011 ",
-"11011 ",
-"1111 11111 ",
-"1111 111111111 ",
-"111 11 11 ",
-"111 11 11 ",
-"11 11 11 ",
-"1 11 11 ",
-" 11 11 ",
-" 11 11 ",
-" 11 11 ",
-" 11 11",
-" 11 11",
-" 11 11",
-" 11 11 ",
-" 11 11 ",
-" 11 11 ",
-" 11 11 ",
-" 11 11 ",
-" 11 11 ",
-" 11 11 ",
-" 11 11 ",
-" 111111111 ",
-" 11111 "};
-
-static const gchar *big_red_filledcircle_cursor_bits[] = {
-"1111111111111111111111111 ",
-"111111111111111111111111 ",
-"1100000000000000000111 ",
-"11000000000000000111 ",
-"110000000000000111 ",
-"1100000000000111 ",
-"11000000000111 ",
-"110000000011 ",
-"1100000000011 ",
-"11000000000011 ",
-"110000110000011 ",
-"1100001110000011 ",
-"1100011 11000011 ",
-"1100011 1100011 ",
-"110011 110011 ",
-"110011 11111 ",
-"11011 ",
-"11011 ",
-"1111 11111 ",
-"1111 111111111 ",
-"111 1100000000011 ",
-"111 110000000000011 ",
-"11 11000000000000011 ",
-"1 1100000000000000011 ",
-" 1100000000000000011 ",
-" 110000000000000000011 ",
-" 110000000000000000011 ",
-" 11000000000000000000011",
-" 11000000000000000000011",
-" 11000000000000000000011",
-" 110000000000000000011 ",
-" 110000000000000000011 ",
-" 1100000000000000011 ",
-" 1100000000000000011 ",
-" 11000000000000011 ",
-" 11000000000000011 ",
-" 110000000000011 ",
-" 1100000000011 ",
-" 111111111 ",
-" 11111 "};
-
-static const gchar *big_red_fill_cursor_bits[] = {
-"1111111111111111111111111 ",
-"111111111111111111111111 ",
-"1100000000000000000111 ",
-"11000000000000000111 ",
-"110000000000000111 ",
-"1100000000000111 ",
-"11000000000111 ",
-"110000000011 ",
-"1100000000011 ",
-"11000000000011 ",
-"110000110000011 ",
-"1100001110000011 ",
-"1100011 11000011 11111111 ",
-"1100011 1100011 11111111 ",
-"110011 110011 11000011 ",
-"110011 11111 11000011 ",
-"11011 11000001 ",
-"11011 11000001 ",
-"1111 11111111111111111111111",
-"1111 11111111111111111111111",
-"11 11000000000000000000011",
-"1 110 011",
-" 110 011",
-" 110 011",
-" 110 011",
-" 110000 011",
-" 110 000 011",
-" 110 0000 011",
-" 110 0 011",
-" 110000 0 011",
-" 110 000 0 011",
-" 110 0000 011",
-" 110 011",
-" 110 011",
-" 110 011",
-" 110 011",
-" 110 011",
-" 11000000000000000000011",
-" 11111111111111111111111",
-" 11111111111111111111111"};
-
-static const gchar *big_red_del_cursor_bits[] = {
-"1111111111111111111111111 ",
-"111111111111111111111111 ",
-"1100000000000000000111 ",
-"11000000000000000111 ",
-"110000000000000111 ",
-"1100000000000111 ",
-"11000000000111 ",
-"110000000011 ",
-"1100000000011 ",
-"11000000000011 ",
-"110000110000011 ",
-"1100001110000011 ",
-"1100011 11000011 ",
-"1100011 1100011 ",
-"110011 110011 ",
-"110011 11111 ",
-"11011 ",
-"11011 ",
-"1111 ",
-"1111 111 111 ",
-"11 1001 1001 ",
-"1 10001 10001 ",
-" 10001 10001 ",
-" 10001 10001 ",
-" 10001 10001 ",
-" 10001 10001 ",
-" 10001 10001 ",
-" 10001 10001 ",
-" 100010001 ",
-" 100000001 ",
-" 100010001 ",
-" 10001 10001 ",
-" 10001 10001 ",
-" 10001 10001 ",
-" 10001 10001 ",
-" 10001 10001 ",
-" 10001 10001 ",
-" 10001 10001 ",
-" 1001 1001 ",
-" 111 111 "};
-
-static const gchar *big_red_select_cursor_bits[] = {
-"1111111111111111111111111 ",
-"111111111111111111111111 ",
-"1100000000000000000111 ",
-"11000000000000000111 ",
-"110000000000000111 ",
-"1100000000000111 ",
-"11000000000111 ",
-"110000000011 ",
-"1100000000011 ",
-"11000000000011 ",
-"110000110000011 ",
-"1100001110000011 ",
-"1100011 11000011 ",
-"1100011 1100011 ",
-"110011 110011 ",
-"110011 11111 ",
-"11011 ",
-"11011 111 ",
-"1111 10001 ",
-"1111 1000001 ",
-"11 100000001 ",
-"1 11110001111 ",
-" 10001 ",
-" 1 10001 1 ",
-" 11 10001 11 ",
-" 101 10001 101 ",
-" 100111111000111111001 ",
-" 10000000000000000000001 ",
-" 10000000000000000000001 ",
-" 10000000000000000000001 ",
-" 100111111000111111001 ",
-" 101 10001 101 ",
-" 11 10001 11 ",
-" 1 10001 1 ",
-" 10001 ",
-" 11110001111 ",
-" 100000001 ",
-" 1000001 ",
-" 10001 ",
-" 111 "};
-
-#endif
diff --git a/src/gcompris/dialog.c b/src/gcompris/dialog.c
index b223c3e..b28ec10 100644
--- a/src/gcompris/dialog.c
+++ b/src/gcompris/dialog.c
@@ -161,6 +161,8 @@ item_event_ok(GnomeCanvasItem *item, GdkEvent *event, DialogBoxCallBack dbcb)
if(rootDialogItem)
gc_dialog_close();
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
+
/* restart the board */
gc_board_pause(FALSE);
diff --git a/src/gcompris/drag.c b/src/gcompris/drag.c
new file mode 100644
index 0000000..959b70e
--- /dev/null
+++ b/src/gcompris/drag.c
@@ -0,0 +1,177 @@
+/* gcompris - drag.c
+ *
+ * Copyright (C) 2006 Miguel de Izarra
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#include "drag.h"
+
+static gc_Drag_Func gc_drag_func;
+static int gc_drag_status;
+
+/* Values of status are :
+ 0 - waiting for a BUTTON_PRESS
+ 1 - follow mouse pointer
+ 2 - follow mouse pointer and waiting for a BUTTON_RELEASE */
+
+static gc_drag_mode_type gc_drag_mode;
+static GnomeCanvasItem *gc_drag_item;
+static double gc_drag_offset_x, gc_drag_offset_y;
+
+GnomeCanvasItem * gc_drag_item_get(void)
+{
+ return gc_drag_item;
+}
+
+void gc_drag_item_set(GnomeCanvasItem *item)
+{
+ if(gc_drag_status != 0)
+ g_warning("Don't use gc_drag_set_item during a dragging");
+ if(item)
+ gc_drag_item = item;
+}
+
+void gc_drag_item_move(GdkEvent *event)
+{
+ double item_x, item_y;
+
+ item_x = event->button.x;
+ item_y = event->button.y;
+ gnome_canvas_item_w2i(gc_drag_item->parent, &item_x, &item_y);
+
+ gnome_canvas_item_set(gc_drag_item,
+ "x", item_x - gc_drag_offset_x,
+ "y", item_y - gc_drag_offset_y, NULL);
+}
+
+void gc_drag_offset_get(double *x, double *y)
+{
+ *x = gc_drag_offset_x;
+ *y = gc_drag_offset_y;
+}
+
+void gc_drag_offset_set(double x, double y)
+{
+ gc_drag_offset_x = x;
+ gc_drag_offset_y = y;
+}
+
+void gc_drag_offset_save(GdkEvent *event)
+{
+ double x, y, item_x, item_y;
+
+ x=event->button.x;
+ y=event->button.y;
+ gnome_canvas_item_w2i(gc_drag_item->parent, &x, &y);
+
+ gnome_canvas_item_get_bounds(gc_drag_item, &item_x, &item_y, NULL, NULL);
+
+ gc_drag_offset_set(x - item_x, y - item_y);
+}
+
+gint gc_drag_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data)
+{
+ switch(event->type)
+ {
+ case GDK_BUTTON_PRESS:
+ if(gc_drag_status ==0 && event->button.button == 1)
+ {
+ gc_drag_item = item;
+ if(gc_drag_mode == GC_DRAG_MODE_GRAB)
+ gc_drag_status = 2;
+ else
+ gc_drag_status = 1;
+
+ gc_drag_func(item, event, data);
+ }
+ break;
+ case GDK_BUTTON_RELEASE:
+ if(gc_drag_status == 2)
+ {
+ gc_drag_func(gc_drag_item, event, data);
+ gc_drag_status = 0;
+ gc_drag_item = NULL;
+ }
+ else if (gc_drag_status == 1 && gc_drag_mode & GC_DRAG_MODE_2CLICKS)
+ gc_drag_status = 2;
+ break;
+ default:
+ break;
+ }
+ return FALSE;
+}
+
+gint gc_drag_event_root(GnomeCanvasItem * item, GdkEvent *event, gpointer data)
+{
+ switch(event->type)
+ {
+ case GDK_MOTION_NOTIFY:
+ if(gc_drag_status > 0)
+ {
+ if(gc_drag_status==1 && gc_drag_mode & GC_DRAG_MODE_GRAB)
+ gc_drag_status=2;
+ gc_drag_func(gc_drag_item, event, data);
+ }
+ break;
+ default:
+ break;
+ }
+ return FALSE;
+}
+
+void gc_drag_start(GnomeCanvasGroup *root_item, gc_Drag_Func function, gc_drag_mode_type mode)
+{
+ gtk_signal_connect(GTK_OBJECT(root_item), "event",
+ (GtkSignalFunc) gc_drag_event_root, NULL);
+ gc_drag_func = function;
+ gc_drag_status = 0;
+ gc_drag_item = NULL;
+ gc_drag_offset_x = gc_drag_offset_y = 0;
+ if (mode == GC_DRAG_MODE_DEFAULT)
+ gc_drag_mode = gc_prop_get()->drag_mode;
+ else
+ gc_drag_mode = mode;
+}
+
+void gc_drag_stop(GnomeCanvasGroup *root_item)
+{
+ if(gc_drag_status>0)
+ {
+ GdkEvent event;
+ event.type = GDK_BUTTON_RELEASE;
+ event.button.x = event.button.y =0;
+ event.button.button = 1;
+ gc_drag_func(gc_drag_item, &event, NULL);
+ }
+ gtk_signal_disconnect_by_func(GTK_OBJECT(root_item),
+ (GtkSignalFunc) gc_drag_event_root, NULL);
+ gc_drag_func = NULL;
+ gc_drag_status = -1;
+ gc_drag_item = NULL;
+ gc_drag_mode = 0;
+}
+
+void gc_drag_change_mode (gc_drag_mode_type mode)
+{
+ if(gc_drag_status != 0)
+ g_warning("Don't use gc_change_mode during a dragging");
+ else {
+ if (mode == GC_DRAG_MODE_DEFAULT)
+ gc_drag_mode = gc_prop_get()->drag_mode;
+ else
+ gc_drag_mode = mode;
+ }
+}
diff --git a/src/gcompris/drag.h b/src/gcompris/drag.h
new file mode 100644
index 0000000..8b20237
--- /dev/null
+++ b/src/gcompris/drag.h
@@ -0,0 +1,49 @@
+/* gcompris - drag.h
+ *
+ * Copyright (C) 2006 Miguel de Izarra
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#ifndef GCOMPIRS_DRAG_H
+#define GCOMPIRS_DRAG_H
+#include "gcompris.h"
+
+typedef enum {
+ GC_DRAG_MODE_DEFAULT = 0,
+ GC_DRAG_MODE_GRAB = 1,
+ GC_DRAG_MODE_2CLICKS = 2,
+ GC_DRAG_MODE_BOTH = 3
+} gc_drag_mode_type;
+
+typedef gint (*gc_Drag_Func) (GnomeCanvasItem *item, GdkEvent *event, gpointer data);
+
+gint gc_drag_event(GnomeCanvasItem *item, GdkEvent *event, gpointer data);
+
+void gc_drag_start(GnomeCanvasGroup *root_item, gc_Drag_Func function, gc_drag_mode_type mode);
+void gc_drag_stop(GnomeCanvasGroup *root_item);
+
+GnomeCanvasItem * gc_drag_item_get(void);
+void gc_drag_item_set(GnomeCanvasItem *item);
+void gc_drag_item_move(GdkEvent *event);
+
+void gc_drag_offset_save(GdkEvent *event);
+void gc_drag_offset_get(double *x, double *y);
+void gc_drag_offset_set(double x, double y);
+
+void gc_drag_change_mode (gc_drag_mode_type mode);
+
+#endif
+
diff --git a/src/gcompris/gameutil.c b/src/gcompris/gameutil.c
index 8123d68..d9c7925 100644
--- a/src/gcompris/gameutil.c
+++ b/src/gcompris/gameutil.c
@@ -139,7 +139,7 @@ do_colorshift (GdkPixbuf *dest, GdkPixbuf *src, int shift)
-static GdkPixbuf *
+GdkPixbuf *
make_hc_pixbuf(GdkPixbuf *pb, gint val)
{
GdkPixbuf *new;
diff --git a/src/gcompris/gcompris.c b/src/gcompris/gcompris.c
index 54a9904..dd52172 100644
--- a/src/gcompris/gcompris.c
+++ b/src/gcompris/gcompris.c
@@ -32,8 +32,6 @@
#include "about.h"
#include <locale.h>
-#include "cursor.h"
-
#include "binreloc.h"
/* For XF86_VIDMODE Support */
@@ -117,6 +115,7 @@ static int popt_display_resource = FALSE;
static char *popt_server = NULL;
static int *popt_web_only = NULL;
static char *popt_cache_dir = NULL;
+static char *popt_drag_mode = NULL;
static struct poptOption options[] = {
{"fullscreen", 'f', POPT_ARG_NONE, &popt_fullscreen, 0,
@@ -203,6 +202,8 @@ static struct poptOption options[] = {
{"cache-dir", '\0', POPT_ARG_STRING, &popt_cache_dir, 0,
N_("In server mode, specify the cache directory used to avoid useless downloads."), NULL},
+ {"drag-mode", 'g', POPT_ARG_STRING, &popt_drag_mode, 0,
+ N_("Global drag and drop mode: normal, 2clicks, both. Default mode is normal."), NULL},
#ifndef WIN32 /* Not supported on windows */
POPT_AUTOHELP
@@ -530,7 +531,7 @@ static void init_background()
void gc_cursor_set(guint gdk_cursor_type)
{
- GdkCursor *cursor;
+ GdkCursor *cursor = NULL;
// Little hack to force gcompris to use the default cursor
if(gdk_cursor_type==GCOMPRIS_DEFAULT_CURSOR)
@@ -542,55 +543,47 @@ void gc_cursor_set(guint gdk_cursor_type)
gdk_window_set_cursor (window->window, cursor);
gdk_cursor_destroy(cursor);
} else { // we use a custom cursor
- GdkColor fg, bg;
- // static const gchar * cursor;
- static const gchar ** bits;
-
- gdk_color_parse("rgb:FFFF/FFFF/FFFF",&fg);
- gdk_color_parse("rgb:FFFF/3FFF/0000",&bg);
-
- gdk_color_parse("black",&fg);
- gdk_color_parse("red",&bg);
+ GdkPixbuf *cursor_pixbuf = NULL;
switch (gdk_cursor_type) {
- case GCOMPRIS_BIG_RED_ARROW_CURSOR :
- bits = big_red_arrow_cursor_bits;
- break;
- case GCOMPRIS_BIRD_CURSOR :
- bits = bird_cursor_bits;
+ case GCOMPRIS_DEFAULT_CURSOR :
+ cursor_pixbuf = gc_skin_pixmap_load("cursor_default.png");
break;
case GCOMPRIS_LINE_CURSOR :
- bits = big_red_line_cursor_bits;
+ cursor_pixbuf = gc_skin_pixmap_load("cursor_line.png");
break;
case GCOMPRIS_RECT_CURSOR :
- bits = big_red_rectangle_cursor_bits;
+ cursor_pixbuf = gc_skin_pixmap_load("cursor_rect.png");
break;
case GCOMPRIS_FILLRECT_CURSOR :
- bits = big_red_filledrectangle_cursor_bits;
+ cursor_pixbuf = gc_skin_pixmap_load("cursor_fillrect.png");
break;
case GCOMPRIS_CIRCLE_CURSOR :
- bits = big_red_circle_cursor_bits;
+ cursor_pixbuf = gc_skin_pixmap_load("cursor_circle.png");
break;
case GCOMPRIS_FILLCIRCLE_CURSOR :
- bits = big_red_filledcircle_cursor_bits;
+ cursor_pixbuf = gc_skin_pixmap_load("cursor_fillcircle.png");
break;
case GCOMPRIS_FILL_CURSOR :
- bits = big_red_fill_cursor_bits;
+ cursor_pixbuf = gc_skin_pixmap_load("cursor_fill.png");
break;
case GCOMPRIS_DEL_CURSOR :
- bits = big_red_del_cursor_bits;
+ cursor_pixbuf = gc_skin_pixmap_load("cursor_del.png");
break;
case GCOMPRIS_SELECT_CURSOR :
- bits = big_red_select_cursor_bits;
+ cursor_pixbuf = gc_skin_pixmap_load("cursor_select.png");
+ break;
+ default :
+ return;
break;
- default : bits = big_red_arrow_cursor_bits;
}
- cursor = gdk_cursor_new_from_data(bits, 40 , 40, &fg, &bg, 0, 0);
- if(cursor)
+ if(cursor_pixbuf)
{
+ cursor = gdk_cursor_new_from_pixbuf(gdk_display_get_default(), cursor_pixbuf, 0, 0);
gdk_window_set_cursor(window->window, cursor);
gdk_cursor_unref(cursor);
+ gdk_pixbuf_unref(cursor_pixbuf);
}
}
}
@@ -1390,6 +1383,12 @@ gc_init (int argc, char *argv[])
signal(SIGSEGV, gc_terminate);
signal(SIGINT, gc_terminate);
+#ifdef XF86_VIDMODE
+ printf("XF86VidMode: Compiled with XF86VidMode.\nIf you have problems starting GCompris in fullscreen, try the -x option to disable XF86VidMode.\n");
+#else
+ printf("XF86VidMode: Not compiled with XVIDMODE\n");
+#endif
+
load_properties();
gc_skin_load(properties->skin);
@@ -1668,16 +1667,30 @@ gc_init (int argc, char *argv[])
if(popt_web_only) {
g_free(properties->package_data_dir);
- properties->package_data_dir = "";
+ properties->package_data_dir = g_strdup("");
g_free(properties->system_icon_dir);
- properties->system_icon_dir = "";
+ properties->system_icon_dir = g_strdup("");
}
if (popt_server){
properties->cache_dir = g_strdup(popt_cache_dir);
}
+ if (popt_drag_mode){
+ if (strcmp(popt_drag_mode, "default") == 0)
+ properties->drag_mode = GC_DRAG_MODE_GRAB;
+ else {
+ if (strcmp(popt_drag_mode, "2clicks") == 0)
+ properties->drag_mode = GC_DRAG_MODE_2CLICKS;
+ else {
+ if (strcmp(popt_drag_mode, "both") == 0)
+ properties->drag_mode = GC_DRAG_MODE_BOTH;
+ else g_warning("Unknown drag mode ! Valids modes are \"normal\", \"2clicks\" and \"both\"");
+ }
+ }
+ }
+
/*
* Database init MUST BE after properties
* And after a possible alternate database as been provided
diff --git a/src/gcompris/gcompris.h b/src/gcompris/gcompris.h
index 77f4f52..5223e3d 100644
--- a/src/gcompris/gcompris.h
+++ b/src/gcompris/gcompris.h
@@ -55,6 +55,8 @@
#include "gcompris_im.h"
#include "gcompris_alphabeta.h"
+#include "drag.h"
+
#ifdef USE_CAIRO
#include "gcompris-cairo.h"
#endif
@@ -124,13 +126,13 @@ gchar *gc_locale_get_name(gchar *locale);
void gc_cursor_set(guint gdk_cursor_type);
typedef void (*ImageSelectorCallBack) (gchar* image);
-void gc_selector_images_start (GcomprisBoard *gcomprisBoard,
- gchar *dataset,
+void gc_selector_images_start (GcomprisBoard *gcomprisBoard,
+ gchar *dataset,
ImageSelectorCallBack imscb);
void gc_selector_images_stop (void);
typedef void (*FileSelectorCallBack) (gchar *file, gchar *file_type); /* file_type is one string from file_types in the save */
-void gc_selector_file_load (GcomprisBoard *gcomprisBoard,
+void gc_selector_file_load (GcomprisBoard *gcomprisBoard,
gchar *rootdir,
gchar *file_types, /* A Comma separated text explaining the different file types */
FileSelectorCallBack fscb);
@@ -150,7 +152,7 @@ void gc_dialog_close();
/* Confirm box */
typedef void (*ConfirmCallBack) (gboolean answer);
-void gc_confirm_box (gchar *title,
+void gc_confirm_box (gchar *title,
gchar *question_text,
gchar *yes_text,
gchar *no_text,
@@ -171,7 +173,7 @@ void gc_canvas_item_ungrab (GnomeCanvasItem *item, guint32 etime);
#define GCOMPRIS_LOG_STATUS_COMPLETED "COMPLETED"
/* Use it to tell the teacher where the kid failed */
-void gc_log_set_comment (GcomprisBoard *gcomprisBoard, gchar *expected, gchar* got);
+void gc_log_set_comment (GcomprisBoard *gcomprisBoard, gchar *expected, gchar* got);
/* Do not use it if you use the bonus API in your board */
void gc_log_end (GcomprisBoard *gcomprisBoard, gchar *status);
@@ -212,8 +214,7 @@ GList *gc_menu_get_boards();
// These are gcompris defined cursors
// cursor defines must be over the last gnome cursor defined in gdkcursors.h
#define GCOMPRIS_FIRST_CUSTOM_CURSOR 1000
-#define GCOMPRIS_BIG_RED_ARROW_CURSOR 1001
-#define GCOMPRIS_BIRD_CURSOR 1002
+#define GCOMPRIS_DEFAULT_CURSOR 1001
#define GCOMPRIS_LINE_CURSOR 1003
#define GCOMPRIS_FILLRECT_CURSOR 1004
#define GCOMPRIS_RECT_CURSOR 1005
@@ -223,6 +224,4 @@ GList *gc_menu_get_boards();
#define GCOMPRIS_FILL_CURSOR 1009
#define GCOMPRIS_SELECT_CURSOR 1010
-#define GCOMPRIS_DEFAULT_CURSOR GCOMPRIS_BIG_RED_ARROW_CURSOR
-
#endif
diff --git a/src/gcompris/help.c b/src/gcompris/help.c
index 213b98f..3eaf359 100644
--- a/src/gcompris/help.c
+++ b/src/gcompris/help.c
@@ -33,6 +33,7 @@
#define GAP_TO_BUTTON -20
static gint item_event_help(GnomeCanvasItem *item, GdkEvent *event, gpointer data);
+static int event_disable_right_click_popup(GtkWidget *w, GdkEvent *event, gpointer data);
static void select_item(GnomeCanvasItem *item, GnomeCanvasItem *item_text);
static void set_content(char *text);
@@ -324,6 +325,9 @@ void gc_help_start (GcomprisBoard *gcomprisBoard)
gtk_text_view_set_editable(GTK_TEXT_VIEW (view), FALSE);
gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW (view), FALSE);
+ gtk_signal_connect(GTK_OBJECT(view), "button-press-event",
+ (GtkSignalFunc) event_disable_right_click_popup, NULL);
+
PangoFontDescription *font_desc;
font_desc = pango_font_description_from_string (gc_skin_font_content);
gtk_widget_modify_font (view, font_desc);
@@ -484,6 +488,7 @@ item_event_help(GnomeCanvasItem *item, GdkEvent *event, gpointer data)
case GDK_LEAVE_NOTIFY:
break;
case GDK_BUTTON_PRESS:
+ gc_sound_play_ogg ("sounds/bleep.wav", NULL);
if(!strcmp((char *)data, "ok"))
{
gc_help_stop();
@@ -514,3 +519,12 @@ item_event_help(GnomeCanvasItem *item, GdkEvent *event, gpointer data)
return FALSE;
}
+
+/* Textview have a popup on right click to copy/paste. We don't want it */
+static int
+event_disable_right_click_popup(GtkWidget *w, GdkEvent *event, gpointer data)
+{
+ if(event->button.button == 3)
+ return TRUE;
+ return FALSE;
+}
diff --git a/src/gcompris/pixbuf_util.c b/src/gcompris/pixbuf_util.c
index 8b38a96..62cc6ca 100644
--- a/src/gcompris/pixbuf_util.c
+++ b/src/gcompris/pixbuf_util.c
@@ -83,3 +83,40 @@ GdkPixbuf *pixbuf_copy_mirror(GdkPixbuf *src, gint mirror, gint flip)
return dest;
}
+
+
+/* Copyright 2006 Miguel DE IZARRA
+ * Base on function gdk_pixbuf_fill from gdk_pixbuf
+ */
+void pixbuf_add_transparent (GdkPixbuf *pixbuf,guint alpha)
+{
+ guchar *pixels;
+ guchar *p;
+ guint w, h;
+
+ g_return_if_fail (GDK_IS_PIXBUF (pixbuf));
+ g_return_if_fail(gdk_pixbuf_get_has_alpha(pixbuf));
+
+ if (gdk_pixbuf_get_width(pixbuf) == 0 || gdk_pixbuf_get_height(pixbuf) == 0)
+ return;
+
+ pixels = gdk_pixbuf_get_pixels(pixbuf);
+
+ h = gdk_pixbuf_get_height(pixbuf);
+
+ while (h--) {
+ w = gdk_pixbuf_get_width(pixbuf);
+ p = pixels;
+
+ while (w--) {
+ if(p[3] > alpha)
+ p[3] = p[3] - alpha;
+ else
+ p[3] = 0;
+ p += 4;
+ }
+
+ pixels += gdk_pixbuf_get_rowstride(pixbuf);
+ }
+}
+
diff --git a/src/gcompris/pixbuf_util.h b/src/gcompris/pixbuf_util.h
index 332e523..a8e6625 100644
--- a/src/gcompris/pixbuf_util.h
+++ b/src/gcompris/pixbuf_util.h
@@ -17,5 +17,6 @@
GdkPixbuf *pixbuf_copy_mirror(GdkPixbuf *src, gint mirror, gint flip);
+void pixbuf_add_transparent (GdkPixbuf *pixbuf,guint alpha);
#endif
diff --git a/src/gcompris/properties.c b/src/gcompris/properties.c
index bb5fdc2..a632c00 100644
--- a/src/gcompris/properties.c
+++ b/src/gcompris/properties.c
@@ -142,7 +142,7 @@ gc_prop_new ()
tmp->music = 1;
tmp->fx = 1;
tmp->screensize = 1;
- tmp->fullscreen = 1;
+ tmp->fullscreen = 0;
tmp->noxf86vm = FALSE;
tmp->timer = 1;
tmp->skin = g_strdup("babytoy");
@@ -172,6 +172,7 @@ gc_prop_new ()
tmp->package_python_plugin_dir = NULL;
tmp->system_icon_dir = NULL;
tmp->cache_dir = NULL;
+ tmp->drag_mode = GC_DRAG_MODE_GRAB;
user_dir = gc_prop_user_root_directory_get() ;
gc_util_create_rootdir( user_dir );
diff --git a/src/gcompris/properties.h b/src/gcompris/properties.h
index 215530d..225d0c6 100644
--- a/src/gcompris/properties.h
+++ b/src/gcompris/properties.h
@@ -64,6 +64,7 @@ typedef struct {
gint experimental;
gchar *menu_position;
gchar *server;
+ gint drag_mode;
} GcomprisProperties;
GcomprisProperties *gc_prop_get (void);
diff --git a/src/gcompris/sdlplayer.c b/src/gcompris/sdlplayer.c
index 5591ff4..c5ce654 100644
--- a/src/gcompris/sdlplayer.c
+++ b/src/gcompris/sdlplayer.c
@@ -31,12 +31,14 @@
#include <glib.h>
+#include "soundutil.h"
+
Sint16 stream[2][4096];
int len=4096, bits=0, which=0;
// set this to any of 512,1024,2048,4096
// the higher it is, the more FPS shown and CPU needed
-int audio_buffers=2048;
+#define AUDIO_BUFFERS 2048
static gboolean sound_closed = FALSE;
@@ -80,15 +82,14 @@ int sdlplayer_init()
return(cleanExit("SDL_Init"));
// initialize sdl mixer, open up the audio device
- if(Mix_OpenAudio(44100,MIX_DEFAULT_FORMAT,2,audio_buffers)<0)
+ if(Mix_OpenAudio(44100,MIX_DEFAULT_FORMAT,2,AUDIO_BUFFERS)<0)
return(cleanExit("Mix_OpenAudio"));
// print out some info on the audio device and stream
Mix_QuerySpec(&audio_rate, &audio_format, &audio_channels);
bits=audio_format&0xFF;
g_warning("Opened audio at %d Hz %d bit %s, %d bytes audio buffer\n", audio_rate,
- bits, audio_channels>1?"stereo":"mono", audio_buffers );
-
+ bits, audio_channels>1?"stereo":"mono", AUDIO_BUFFERS );
return(0);
}
@@ -198,10 +199,12 @@ void sdlplayer_close()
Mix_HaltChannel(-1);
Mix_CloseAudio();
}
+
void sdlplayer_reopen()
{
- Mix_OpenAudio(44100,MIX_DEFAULT_FORMAT,2,audio_buffers);
+ Mix_OpenAudio(44100,MIX_DEFAULT_FORMAT,2,AUDIO_BUFFERS);
sound_closed = FALSE;
- Mix_ResumeMusic();
- Mix_Resume(-1);
+ //Mix_ResumeMusic();
+ //Mix_Resume(-1);
+
}
diff --git a/src/gcompris/soundutil.c b/src/gcompris/soundutil.c
index 5698f76..29d0e44 100644
--- a/src/gcompris/soundutil.c
+++ b/src/gcompris/soundutil.c
@@ -112,27 +112,32 @@ gc_sound_close()
{
if ( !sound_closed )
{
+ sound_closed = TRUE;
+ if ( music_paused ) {
+ music_paused = FALSE;
+ gc_sound_resume();
+ }
+ g_mutex_lock(lock_fx);
sdlplayer_halt_music();
sdlplayer_halt_fx();
- g_mutex_lock(lock_fx);
g_mutex_lock(lock_music);
sdlplayer_close();
- sound_closed = TRUE;
- music_paused = FALSE;
}
}
void
gc_sound_reopen()
{
- if (sound_closed)
- {
- sdlplayer_reopen();
- g_mutex_unlock(lock_fx);
- g_mutex_unlock(lock_music);
- sound_closed = FALSE;
- music_paused = FALSE;
- }
+ if (gc_prop_get()->fx || gc_prop_get()->music) {
+ if (sound_closed)
+ {
+ sdlplayer_reopen();
+ g_mutex_unlock(lock_fx);
+ g_mutex_unlock(lock_music);
+ sound_closed = FALSE;
+ music_paused = FALSE;
+ }
+ }
}
void
@@ -226,7 +231,7 @@ scheduler_music (gpointer user_data)
for(i=0; i<g_slist_length(musiclist); i++)
{
/* Music can be disabled at any time */
- while(!gc_prop_get()->music || music_paused)
+ while(!gc_prop_get()->music || music_paused || sound_closed)
g_usleep(1000000);
/* WARNING Displaying stuff in a thread seems to make gcompris unstable */