diff -Naur gPlanarity-20070402-orig/dialog_finish.c gPlanarity-20070402-i18n/dialog_finish.c --- gPlanarity-20070402-orig/dialog_finish.c 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/dialog_finish.c 2007-05-15 22:37:19.000000000 +0200 @@ -77,9 +77,9 @@ int h=g->g.height; buttonstate *states=g->b.states; - states[0].rollovertext="exit gPlanarity"; - states[1].rollovertext="level selection menu"; - states[10].rollovertext="play next level!"; + states[0].rollovertext=_("exit gPlanarity"); + states[1].rollovertext=_("level selection menu"); + states[10].rollovertext=_("play next level!"); states[0].callback = local_quit; states[1].callback = local_level; @@ -157,15 +157,15 @@ cairo_set_source_rgba (c, TEXT_COLOR); y=h/2-FINISHBOX_HEIGHT/2+SCOREHEIGHT/2; - render_text_centered(c,"Level Complete!", w/2,y);y+=45; + render_text_centered(c,_("Level Complete!"), w/2,y);y+=45; set_font(c,16,16,0,0); - snprintf(buffer,160,"Elapsed: %s",time); + snprintf(buffer,160,_("Elapsed: %s"),time); render_bordertext_centered(c,buffer, w/2,y);y+=24; - snprintf(buffer,160,"Base score: %d points",graphscore_get_raw_score(&g->g)); + snprintf(buffer,160,_("Base score: %d points"),graphscore_get_raw_score(&g->g)); render_bordertext_centered(c,buffer, w/2,y);y+=24; if(graphscore_get_multiplier_percent(&g->g)>100){ @@ -173,32 +173,32 @@ set_font(c,16,16,0,1); cairo_set_source_rgba (c, HIGH_COLOR); - snprintf(buffer,160,"Objective Exceeded! %d%%",graphscore_get_multiplier_percent(&g->g)); + snprintf(buffer,160,_("Objective Exceeded! %d%%"),graphscore_get_multiplier_percent(&g->g)); render_bordertext_centered(c,buffer, w/2,y);y+=24; cairo_restore(c); } - snprintf(buffer,160,"Time bonus: %d points",time_bonus); + snprintf(buffer,160,_("Time bonus: %d points"),time_bonus); render_bordertext_centered(c,buffer, w/2,y);y+=35; set_font(c,16,16,0,1); - snprintf(buffer,160,"Final score: %d points",graphscore_get_score(&g->g)+time_bonus); + snprintf(buffer,160,_("Final score: %d points"),graphscore_get_score(&g->g)+time_bonus); render_bordertext_centered(c,buffer, w/2,y);y+=24; if(graphscore_get_score(&g->g)+time_bonus >= levelstate_get_hiscore()){ cairo_set_source_rgba (c, HIGH_COLOR); - render_bordertext_centered(c,"A high score!", w/2,y);y+=43; + render_bordertext_centered(c,_("A high score!"), w/2,y);y+=43; cairo_set_source_rgba (c, TEXT_COLOR); }else{ - snprintf(buffer,160,"Previous best: %ld points",levelstate_get_hiscore()); + snprintf(buffer,160,_("Previous best: %ld points"),levelstate_get_hiscore()); render_bordertext_centered(c,buffer, w/2,y);y+=43; } - render_bordertext_centered(c,"Total score to date:", w/2,y); + render_bordertext_centered(c,_("Total score to date:"), w/2,y); y+=21; - snprintf(buffer,160,"%ld points",levelstate_total_hiscore()); + snprintf(buffer,160,_("%ld points"),levelstate_total_hiscore()); render_bordertext_centered(c,buffer, w/2,y); } diff -Naur gPlanarity-20070402-orig/dialog_level.c gPlanarity-20070402-i18n/dialog_level.c --- gPlanarity-20070402-orig/dialog_level.c 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/dialog_level.c 2007-05-15 17:44:21.000000000 +0200 @@ -64,9 +64,9 @@ int h=g->g.height; buttonstate *states=g->b.states; - states[0].rollovertext="exit gPlanarity"; - states[2].rollovertext="reset level"; - states[10].rollovertext="play level!"; + states[0].rollovertext=_("exit gPlanarity"); + states[2].rollovertext=_("reset level"); + states[10].rollovertext=_("play level!"); states[0].callback = local_quit; states[2].callback = local_reset; @@ -136,7 +136,7 @@ set_font(c,18,18,0,1); cairo_set_source_rgba (c, TEXT_COLOR); - render_text_centered(c,"Available Levels", w/2,h/2-LEVELBOX_HEIGHT/2+SCOREHEIGHT/2); + render_text_centered(c,_("Available Levels"), w/2,h/2-LEVELBOX_HEIGHT/2+SCOREHEIGHT/2); cairo_destroy(c); } diff -Naur gPlanarity-20070402-orig/dialog_level_icons.c gPlanarity-20070402-i18n/dialog_level_icons.c --- gPlanarity-20070402-orig/dialog_level_icons.c 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/dialog_level_icons.c 2007-05-15 17:44:21.000000000 +0200 @@ -243,7 +243,7 @@ if(g->d.text1.width==0 || (eyd.text1.y+g->d.text1.height && ey2>g->d.text1.y)){ - snprintf(buffer,160,"Level %d:",get_level_num()+1); + snprintf(buffer,160,_("Level %d:"),get_level_num()+1); set_font(c,20,20,0,1); cairo_set_source_rgba (c, TEXT_COLOR); g->d.text1=render_bordertext_centered(c, buffer,w/2,y+45); @@ -261,10 +261,10 @@ if(levelstate_get_hiscore()==0){ set_font(c,18,18,1,0); - snprintf(buffer,160,"[not yet completed]"); + snprintf(buffer,160,_("[not yet completed]")); }else{ set_font(c,18,18,0,0); - snprintf(buffer,160,"level high score: %ld",levelstate_get_hiscore()); + snprintf(buffer,160,_("level high score: %ld"),levelstate_get_hiscore()); } cairo_set_source_rgba (c, TEXT_COLOR); @@ -274,7 +274,7 @@ if(g->d.text4.width==0 || (eyd.text4.y+g->d.text4.height && ey2>g->d.text4.y)){ - snprintf(buffer,160,"total score all levels: %ld",levelstate_total_hiscore()); + snprintf(buffer,160,_("total score all levels: %ld"),levelstate_total_hiscore()); set_font(c,18,18,0,0); cairo_set_source_rgba (c, TEXT_COLOR); diff -Naur gPlanarity-20070402-orig/dialog_pause.c gPlanarity-20070402-i18n/dialog_pause.c --- gPlanarity-20070402-orig/dialog_pause.c 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/dialog_pause.c 2007-05-15 17:44:21.000000000 +0200 @@ -64,8 +64,8 @@ int h=g->g.height; buttonstate *states=g->b.states; - states[0].rollovertext="exit gPlanarity"; - states[10].rollovertext="resume game!"; + states[0].rollovertext=_("exit gPlanarity"); + states[10].rollovertext=_("resume game!"); states[0].callback = local_quit; states[10].callback = local_unpause; @@ -128,10 +128,10 @@ set_font(c,18,18,0,1); cairo_set_source_rgba (c, TEXT_COLOR); - render_text_centered(c,"Game Paused", w/2,h/2-PAUSEBOX_HEIGHT/2+SCOREHEIGHT/2); + render_text_centered(c,_("Game Paused"), w/2,h/2-PAUSEBOX_HEIGHT/2+SCOREHEIGHT/2); set_font(c,18,18,0,0); - render_bordertext_centered(c,"Time Elapsed:", w/2,h/2-30); + render_bordertext_centered(c,_("Time Elapsed:"), w/2,h/2-30); render_bordertext_centered(c,time, w/2,h/2); } @@ -183,19 +183,19 @@ set_font(c,18,18,0,1); cairo_set_source_rgba (c, TEXT_COLOR); - render_text_centered(c,"gPlanarity", w/2,y); + render_text_centered(c,_("gPlanarity"), w/2,y); set_font(c,18,18,0,0); y+=45; - render_bordertext_centered(c,"Untangle the mess!", w/2,y); + render_bordertext_centered(c,_("Untangle the mess!"), w/2,y); y+=30; set_font(c,13,13,0,0); - render_bordertext_centered(c,"Drag verticies to eliminate crossed lines.", w/2,y); y+=16; - render_bordertext_centered(c,"The objective may be a complete solution or", w/2,y); y+=16; - render_bordertext_centered(c,"getting as close as possible to solving an", w/2,y); y+=16; - render_bordertext_centered(c,"unsolvable puzzle. Work quickly and", w/2,y); y+=16; - render_bordertext_centered(c,"exceed the objective for bonus points!", w/2,y); y+=16; + render_bordertext_centered(c,_("Drag verticies to eliminate crossed lines."), w/2,y); y+=16; + render_bordertext_centered(c,_("The objective may be a complete solution or"), w/2,y); y+=16; + render_bordertext_centered(c,_("getting as close as possible to solving an"), w/2,y); y+=16; + render_bordertext_centered(c,_("unsolvable puzzle. Work quickly and"), w/2,y); y+=16; + render_bordertext_centered(c,_("exceed the objective for bonus points!"), w/2,y); y+=16; y+=16; cairo_move_to (c, w/2-100,y); @@ -204,13 +204,13 @@ y+=32; set_font(c,12,13,0,0); - render_bordertext_centered(c,"gPlanarity written by Monty ",w/2,y);y+=17; - render_bordertext_centered(c,"as a demonstration of Gtk+/Cairo",w/2,y);y+=32; + render_bordertext_centered(c,_("gPlanarity written by Monty "),w/2,y);y+=17; + render_bordertext_centered(c,_("as a demonstration of Gtk+/Cairo"),w/2,y);y+=32; - render_bordertext_centered(c,"Original Flash version of Planarity by",w/2,y);y+=17; - render_bordertext_centered(c,"John Tantalo ",w/2,y);y+=32; + render_bordertext_centered(c,_("Original Flash version of Planarity by"),w/2,y);y+=17; + render_bordertext_centered(c,_("John Tantalo "),w/2,y);y+=32; - render_bordertext_centered(c,"Original game concept by Mary Radcliffe",w/2,y);y+=17; + render_bordertext_centered(c,_("Original game concept by Mary Radcliffe"),w/2,y);y+=17; y = h/2+ABOUTBOX_HEIGHT/2-SCOREHEIGHT/2; diff -Naur gPlanarity-20070402-orig/gameboard.c gPlanarity-20070402-i18n/gameboard.c --- gPlanarity-20070402-orig/gameboard.c 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/gameboard.c 2007-05-15 17:44:21.000000000 +0200 @@ -35,10 +35,12 @@ #include #include +#include "gettext.h" #include "graph.h" #include "gameboard.h" #include "levelstate.h" + static GtkWidgetClass *parent_class = NULL; static void gameboard_init (Gameboard *g){ @@ -70,10 +72,10 @@ if(widget->allocation.width != g->resize_w || widget->allocation.height != g->resize_h){ if(time(NULL) > g->resize_timeout){ - fprintf(stderr,"\n\nERROR: The windowmanager appears to be ignoring resize requests.\n" + fprintf(stderr,_("\n\nERROR: The windowmanager appears to be ignoring resize requests.\n" "This stands a pretty good chance of scrambling any saved board larger\n" - "than the default window size.\n\n" - "Clipping and/or expanding this board to the current window size...\n\n"); + "than the default window size.\n\n")); + fprintf(stderr,_("Clipping and/or expanding this board to the current window size...\n\n")); g->resize_w = 0; g->resize_h = 0; resize_buttons(g,g->g.width, g->g.height, widget->allocation.width, widget->allocation.height); @@ -179,12 +181,12 @@ allocation->height != g->resize_h && g->resize_timeout == 0 ){ - fprintf(stderr,"\n\nERROR: The window size granted by the windowmanager is not the\n" + fprintf(stderr,_("\n\nERROR: The window size granted by the windowmanager is not the\n" "window size gPlanarity requested. If the windowmanager is\n" "configured to ignore application sizing requests, this stands\n" "a pretty good chance of scrambling saved boards later (and\n" - "making everything look funny now).\n\n" - "Clipping and/or expanding this board to the current window size...\n\n"); + "making everything look funny now).\n\n")); + fprintf(stderr,_("Clipping and/or expanding this board to the current window size...\n\n")); g->resize_h=0; g->resize_w=0; diff -Naur gPlanarity-20070402-orig/gameboard_draw_intersection.c gPlanarity-20070402-i18n/gameboard_draw_intersection.c --- gPlanarity-20070402-orig/gameboard_draw_intersection.c 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/gameboard_draw_intersection.c 2007-05-15 17:44:21.000000000 +0200 @@ -62,7 +62,7 @@ cairo_stroke(c); set_font(c, 30., 34., 0,1); - render_bordertext_centered(c,"rather many, really",x2,y2+r/4); + render_bordertext_centered(c,_("rather many, really"),x2,y2+r/4); } diff -Naur gPlanarity-20070402-orig/gameboard_draw_main.c gPlanarity-20070402-i18n/gameboard_draw_main.c --- gPlanarity-20070402-orig/gameboard_draw_main.c 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/gameboard_draw_main.c 2007-05-15 17:44:21.000000000 +0200 @@ -367,7 +367,7 @@ cairo_surface_t *s = cairo_image_surface_create_from_png(name); if(s==NULL || cairo_surface_status(s)!=CAIRO_STATUS_SUCCESS) - fprintf(stderr,"ERROR: Could not load board icon \"%s\"\n", + fprintf(stderr,_("ERROR: Could not load board icon \"%s\"\n"), name); cairo_t *c = cairo_create(s); @@ -433,7 +433,7 @@ draw_intersections(b,g,c,0,0,g->width,g->height); if(cairo_surface_write_to_png(s,name) != CAIRO_STATUS_SUCCESS){ - fprintf(stderr,"ERROR: Could not save board icon \"%s\"\n", + fprintf(stderr,_("ERROR: Could not save board icon \"%s\"\n"), name); return -1; } diff -Naur gPlanarity-20070402-orig/gameboard_draw_score.c gPlanarity-20070402-i18n/gameboard_draw_score.c --- gPlanarity-20070402-orig/gameboard_draw_score.c 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/gameboard_draw_score.c 2007-05-15 17:44:21.000000000 +0200 @@ -64,11 +64,11 @@ topbox(g,c,g->g.width,SCOREHEIGHT); - snprintf(level_string,160,"Level %d: %s",get_level_num()+1,get_level_desc()); - snprintf(score_string,160,"Score: %d",graphscore_get_raw_score(&g->g)); - snprintf(mult_string,160,"%d%%",graphscore_get_multiplier_percent(&g->g)); - snprintf(int_string,160,"Intersections: %ld",g->g.active_intersections); - snprintf(obj_string,160,"Objective: %s",graphscore_objective_string(&g->g)); + snprintf(level_string,160,_("Level %d: %s"),get_level_num()+1,get_level_desc()); + snprintf(score_string,160,_("Score: %d"),graphscore_get_raw_score(&g->g)); + snprintf(mult_string,160,_("%d%%"),graphscore_get_multiplier_percent(&g->g)); + snprintf(int_string,160,_("Intersections: %ld"),g->g.active_intersections); + snprintf(obj_string,160,_("Objective: %s"),graphscore_objective_string(&g->g)); set_font(c,xpx,15,0,1); cairo_set_source_rgba (c, TEXT_COLOR); diff -Naur gPlanarity-20070402-orig/gameboard_logic_buttonbar.c gPlanarity-20070402-i18n/gameboard_logic_buttonbar.c --- gPlanarity-20070402-orig/gameboard_logic_buttonbar.c 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/gameboard_logic_buttonbar.c 2007-05-15 17:44:21.000000000 +0200 @@ -29,6 +29,7 @@ #include #include +#include "gettext.h" #include "graph.h" #include "timer.h" #include "gameboard.h" @@ -50,16 +51,16 @@ int w=g->g.width; int h=g->g.height; - states[0].rollovertext="exit gPlanarity"; - states[1].rollovertext="level selection menu"; - states[2].rollovertext="reset board"; - states[3].rollovertext="pause"; - states[4].rollovertext="help / about"; - states[5].rollovertext="expand"; - states[6].rollovertext="shrink"; - states[7].rollovertext="hide/show lines"; - states[8].rollovertext="mark intersections"; - states[9].rollovertext="click when finished!"; + states[0].rollovertext=_("exit gPlanarity"); + states[1].rollovertext=_("level selection menu"); + states[2].rollovertext=_("reset board"); + states[3].rollovertext=_("pause"); + states[4].rollovertext=_("help / about"); + states[5].rollovertext=_("expand"); + states[6].rollovertext=_("shrink"); + states[7].rollovertext=_("hide/show lines"); + states[8].rollovertext=_("mark intersections"); + states[9].rollovertext=_("click when finished!"); states[0].callback = quit_action; states[1].callback = level_action; diff -Naur gPlanarity-20070402-orig/gameboard_logic.c gPlanarity-20070402-i18n/gameboard_logic.c --- gPlanarity-20070402-orig/gameboard_logic.c 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/gameboard_logic.c 2007-05-15 17:44:21.000000000 +0200 @@ -368,7 +368,7 @@ f = fopen(name,"wb"); if(f==NULL){ - fprintf(stderr,"ERROR: Could not save board state for \"%s\":\n\t%s\n", + fprintf(stderr,_("ERROR: Could not save board state for \"%s\":\n\t%s\n"), get_level_desc(),strerror(errno)); return errno; } @@ -398,7 +398,7 @@ f = fopen(name,"rb"); if(f==NULL){ - fprintf(stderr,"ERROR: Could not read saved board state for \"%s\":\n\t%s\n", + fprintf(stderr,_("ERROR: Could not read saved board state for \"%s\":\n\t%s\n"), get_level_desc(),strerror(errno)); return errno; } diff -Naur gPlanarity-20070402-orig/gettext.h gPlanarity-20070402-i18n/gettext.h --- gPlanarity-20070402-orig/gettext.h 1970-01-01 01:00:00.000000000 +0100 +++ gPlanarity-20070402-i18n/gettext.h 2007-05-21 20:10:34.000000000 +0200 @@ -0,0 +1,13 @@ +#ifndef __GETTEXT +#define __GETTEXT + +#ifdef ENABLE_NLS +#include +#define _(x) gettext(x) +#else +#define _(x) x +#endif + +#define __(x) x + +#endif diff -Naur gPlanarity-20070402-orig/graph.c gPlanarity-20070402-i18n/graph.c --- gPlanarity-20070402-orig/graph.c 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/graph.c 2007-05-15 17:44:21.000000000 +0200 @@ -30,6 +30,7 @@ #include #include +#include "gettext.h" #include "graph.h" #include "random.h" #include "timer.h" @@ -919,7 +920,7 @@ if(A>=0 && Avertex_num && B>=0 && Bvertex_num) add_edge(g,flat[A],flat[B]); else - fprintf(stderr,"WARNING: edge references out of range vertex in save file\n"); + fprintf(stderr,_("WARNING: edge references out of range vertex in save file\n")); } sscanf(line,"int %ld",&g->original_intersections); } diff -Naur gPlanarity-20070402-orig/graph_generate.c gPlanarity-20070402-i18n/graph_generate.c --- gPlanarity-20070402-orig/graph_generate.c 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/graph_generate.c 2007-05-21 20:11:16.000000000 +0200 @@ -29,6 +29,7 @@ #include #include "graph.h" #include "graph_generate.h" +#include "gettext.h" typedef struct { char *class; @@ -43,112 +44,112 @@ #define FINITE_LEVELS 79 static gen_instance i_list[FINITE_LEVELS]={ - {"simple", 1, "A Small Beginning", generate_simple, 1.,4., 1 }, // 1 - {"simple", 2, "My First Real Level(tm)", generate_simple, 1.,4., 2 }, // 2 - {"data", 0, "My First Mission Impossible(tm)", generate_data, 20.,4., 3 }, // 3 - {"simple", 3, "Larger But Not Harder", generate_simple, 1.,4., 2 }, // 4 - {"crest", 5, "The Trick Is It's Easy", generate_crest, 1.,4., 2 }, // 5 - - {"simple", 4, "Practice Before the Handbasket: One of Three", generate_simple, 1.,4., 2 }, // 6 - {"simple", 5, "Practice Before the Handbasket: Two of Three", generate_simple, 1.,4., 2 }, // 7 - {"simple", 6, "Practice Before the Handbasket: Three of Three", generate_simple, 1.,4., 2 }, // 8 - - {"sparse", 4, "Tough and Stringy", generate_sparse, 1.2,4., 2 }, // 9 - {"sparse", 5, "Threadbare", generate_sparse, 1.2,4., 2 }, // 10 - - {"nasty", 4, "The Bumpy Circles Are Slightly More Difficult", generate_nasty, 1.5,4., 3 }, // 11 - {"nasty", 5, "Three is a Magic Number", generate_nasty, 1.5,4., 3 }, // 12 - {"nasty", 6, "Last Call For (Sort of) Triangles (For Now)", generate_nasty, 1.5,4., 3 }, // 13 - - {"free", 4, "Something Only Subtly Different", generate_freeform, 1.5,4., 3 }, // 14 - {"free", 5, "It Can Roll! Granted, Not Very Well", generate_freeform, 1.5,4., 3 }, // 15 - {"free", 6, "If You Squint, It's a Round Brick", generate_freeform, 1.5,4., 3 }, // 16 - - {"rogue", 5, "A New Objective", generate_rogue, 1.6,4., 3 }, // 17 - {"rogue", 6, "How Low Can You Go?", generate_rogue, 1.6,4., 3 }, // 18 - {"rogue", 7, "Military Industrial Complex", generate_rogue, 1.6,4., 4 }, // 19 - - {"embed", 4, "The Hexagon is a Subtle and Wily Beast", generate_embed, 2.,4., 4 }, // 20 - {"embed", 5, "No, Really, The Hexagon Puzzles Are Harder", generate_embed, 3.,4., 5 }, // 21 - {"embed", 6, "Cursed? Call 1-800-HEX-A-GON Today!", generate_embed, 4.,4., 6 }, // 22 - - {"simple", 7, "Round but Straightforward", generate_simple, 1.,4., 4 }, // 23 - - {"shape", 0, "A Star Is Born... Then Solved", generate_shape, 1.,2., 6 }, // 24 - {"shape", 1, "Oh, Rain*bows*...", generate_shape, 1.,2., 6 }, // 25 - {"shape", 2, "Solve Along the Dotted Line", generate_shape, 1.,2., 6 }, // 26 - {"shape", 3, "Using All Available Space", generate_shape, 1.,2., 6 }, // 27 - {"shape", 4, "Brainfreeze", generate_shape, 1.,2., 6 }, // 28 - {"shape", 6, "Tropical Storm Invest", generate_shape, 1.,2., 6 }, // 30 - - {"dense", 8, "Algorithm: Original/Dense (Order: 8)", generate_dense, .8,1., 5 }, // 31 - {"simple", 8, "Algorithm: Original (Order: 8)", generate_simple, 1.,1., 6 }, // 32 - {"sparse", 8, "Algorithm: Original/Sparse (Order: 8)",generate_sparse, 1.2,1., 7 }, // 33 - {"nasty", 8, "Algorithm: Nasty (Order: 8)", generate_nasty, 1.5,1., 8 }, // 34 - {"free", 8, "Algorithm: Freeform/4 (Order: 8)", generate_freeform, 1.5,1., 9 }, // 35 - {"rogue", 8, "Algorithm: Rogue (Order: 8)", generate_rogue, 1.6,1.,10 }, // 36 - {"embed", 8, "Algorithm: Embed (Order: 8)", generate_embed, 4.,1.,10 }, // 37 - {"shape", 7, "Operator", generate_shape, 1.,2.,10 }, // 38 - - {"dense", 9, "Algorithm: Original/Dense (Order: 9)", generate_dense, .8,1., 5 }, // 39 - {"simple", 9, "Algorithm: Original (Order: 9)", generate_simple, 1.,1., 6 }, // 40 - {"sparse", 9, "Algorithm: Original/Sparse (Order: 9)",generate_sparse, 1.2,1., 7 }, // 41 - {"nasty", 9, "Algorithm: Nasty (Order: 9)", generate_nasty, 1.5,1., 8 }, // 42 - {"free", 9, "Algorithm: Freeform/4 (Order: 9)", generate_freeform, 1.5,1., 9 }, // 43 - {"rogue", 9, "Algorithm: Rogue (Order: 9)", generate_rogue, 1.6,1.,10 }, // 44 - {"embed", 9, "Algorithm: Embed (Order: 9)", generate_embed, 4.,1.,10 }, // 45 - {"shape", 8, "The Inside Is Pointy", generate_shape, 1.,2.,10 }, // 46 - - {"dense", 10, "Algorithm: Original/Dense (Order: 10)", generate_dense, .8,1., 5 }, // 47 - {"simple",10, "Algorithm: Original (Order: 10)", generate_simple, 1.,1., 6 }, // 48 - {"sparse",10, "Algorithm: Original/Sparse (Order: 10)",generate_sparse, 1.2,1., 7 }, // 49 - {"nasty", 10, "Algorithm: Nasty (Order: 10)", generate_nasty, 1.5,1., 8 }, // 50 - {"free", 10, "Algorithm: Freeform/4 (Order: 10)", generate_freeform, 1.5,1., 9 }, // 51 - {"rogue", 10, "Algorithm: Rogue (Order: 10)", generate_rogue, 1.6,1.,10 }, // 52 - {"embed", 10, "Algorithm: Embed (Order: 10)", generate_embed, 4.,1.,10 }, // 53 - {"shape", 9, "Riches and Good Luck", generate_shape, 1.,2.,10 }, // 54 - - {"dense", 11, "Algorithm: Original/Dense (Order: 11)", generate_dense, .8,1., 5 }, // 55 - {"simple",11, "Algorithm: Original (Order: 11)", generate_simple, 1.,1., 6 }, // 56 - {"sparse",11, "Algorithm: Original/Sparse (Order: 11)",generate_sparse, 1.2,1., 7 }, // 57 - {"nasty", 11, "Algorithm: Nasty (Order: 11)", generate_nasty, 1.5,1., 8 }, // 58 - {"free", 11, "Algorithm: Freeform/4 (Order: 11)", generate_freeform, 1.5,1., 9 }, // 59 - {"rogue", 11, "Algorithm: Rogue (Order: 11)", generate_rogue, 1.6,1.,10 }, // 60 - {"embed", 11, "Algorithm: Embed (Order: 11)", generate_embed, 4.,1.,10 }, // 61 - {"shape", 10, "Mmmm... Doughnut", generate_shape, 1.,2.,10 }, // 62 - - {"dense", 12, "Algorithm: Original/Dense (Order: 12)", generate_dense, .8,1., 5 }, // 63 - {"simple",12, "Algorithm: Original (Order: 12)", generate_simple, 1.,1., 6 }, // 64 - {"sparse",12, "Algorithm: Original/Sparse (Order: 12)",generate_sparse, 1.2,1., 7 }, // 65 - {"nasty", 12, "Algorithm: Nasty (Order: 12)", generate_nasty, 1.5,1., 8 }, // 66 - {"free", 12, "Algorithm: Freeform/4 (Order: 12)", generate_freeform, 1.5,1., 9 }, // 67 - {"rogue", 12, "Algorithm: Rogue (Order: 12)", generate_rogue, 1.6,1.,10 }, // 68 - {"embed", 12, "Algorithm: Embed (Order: 12)", generate_embed, 4.,1.,10 }, // 69 - {"shape", 11, "Quick and Dirty, or Slow and Steady", generate_shape, 1.,1.,10 }, // 70 - {"shape", 5, "Little Fluffy Clouds", generate_shape, 1.,2., 6 }, // 29 - - {"dense", 13, "Algorithm: Original/Dense (Order: 13)", generate_dense, .8,1., 5 }, // 71 - {"simple",13, "Algorithm: Original (Order: 13)", generate_simple, 1.,1., 6 }, // 72 - {"sparse",13, "Algorithm: Original/Sparse (Order: 13)",generate_sparse, 1.2,1., 7 }, // 73 - {"nasty", 13, "Algorithm: Nasty (Order: 13)", generate_nasty, 1.5,1., 8 }, // 74 - {"free", 13, "Algorithm: Freeform/4 (Order: 13)", generate_freeform, 1.5,1., 9 }, // 75 - {"rogue", 13, "Algorithm: Rogue (Order: 13)", generate_rogue, 1.6,1.,10 }, // 76 - {"embed", 13, "Algorithm: Embed (Order: 13)", generate_embed, 4.,1.,10 }, // 77 - {"shape", 12, "A Sudden Urge To Go Shopping", generate_shape, 1.,1.,10 }, // 78 - {"shape", 13, "Sweet Reward", generate_shape, 1.,1.,10 }, // 79 + {"simple", 1, __("A Small Beginning"), generate_simple, 1.,4., 1 }, // 1 + {"simple", 2, __("My First Real Level(tm)"), generate_simple, 1.,4., 2 }, // 2 + {"data", 0, __("My First Mission Impossible(tm)"), generate_data, 20.,4., 3 }, // 3 + {"simple", 3, __("Larger But Not Harder"), generate_simple, 1.,4., 2 }, // 4 + {"crest", 5, __("The Trick Is It's Easy"), generate_crest, 1.,4., 2 }, // 5 + + {"simple", 4, __("Practice Before the Handbasket: One of Three"), generate_simple, 1.,4., 2 }, // 6 + {"simple", 5, __("Practice Before the Handbasket: Two of Three"), generate_simple, 1.,4., 2 }, // 7 + {"simple", 6, __("Practice Before the Handbasket: Three of Three"), generate_simple, 1.,4., 2 }, // 8 + + {"sparse", 4, __("Tough and Stringy"), generate_sparse, 1.2,4., 2 }, // 9 + {"sparse", 5, __("Threadbare"), generate_sparse, 1.2,4., 2 }, // 10 + + {"nasty", 4, __("The Bumpy Circles Are Slightly More Difficult"), generate_nasty, 1.5,4., 3 }, // 11 + {"nasty", 5, __("Three is a Magic Number"), generate_nasty, 1.5,4., 3 }, // 12 + {"nasty", 6, __("Last Call For (Sort of) Triangles (For Now)"), generate_nasty, 1.5,4., 3 }, // 13 + + {"free", 4, __("Something Only Subtly Different"), generate_freeform, 1.5,4., 3 }, // 14 + {"free", 5, __("It Can Roll! Granted, Not Very Well"), generate_freeform, 1.5,4., 3 }, // 15 + {"free", 6, __("If You Squint, It's a Round Brick"), generate_freeform, 1.5,4., 3 }, // 16 + + {"rogue", 5, __("A New Objective"), generate_rogue, 1.6,4., 3 }, // 17 + {"rogue", 6, __("How Low Can You Go?"), generate_rogue, 1.6,4., 3 }, // 18 + {"rogue", 7, __("Military Industrial Complex"), generate_rogue, 1.6,4., 4 }, // 19 + + {"embed", 4, __("The Hexagon is a Subtle and Wily Beast"), generate_embed, 2.,4., 4 }, // 20 + {"embed", 5, __("No, Really, The Hexagon Puzzles Are Harder"), generate_embed, 3.,4., 5 }, // 21 + {"embed", 6, __("Cursed? Call 1-800-HEX-A-GON Today!"), generate_embed, 4.,4., 6 }, // 22 + + {"simple", 7, __("Round but Straightforward"), generate_simple, 1.,4., 4 }, // 23 + + {"shape", 0, __("A Star Is Born... Then Solved"), generate_shape, 1.,2., 6 }, // 24 + {"shape", 1, __("Oh, Rain*bows*..."), generate_shape, 1.,2., 6 }, // 25 + {"shape", 2, __("Solve Along the Dotted Line"), generate_shape, 1.,2., 6 }, // 26 + {"shape", 3, __("Using All Available Space"), generate_shape, 1.,2., 6 }, // 27 + {"shape", 4, __("Brainfreeze"), generate_shape, 1.,2., 6 }, // 28 + {"shape", 6, __("Tropical Storm Invest"), generate_shape, 1.,2., 6 }, // 30 + + {"dense", 8, __("Algorithm: Original/Dense (Order: 8)"), generate_dense, .8,1., 5 }, // 31 + {"simple", 8, __("Algorithm: Original (Order: 8)"), generate_simple, 1.,1., 6 }, // 32 + {"sparse", 8, __("Algorithm: Original/Sparse (Order: 8)"),generate_sparse, 1.2,1., 7 }, // 33 + {"nasty", 8, __("Algorithm: Nasty (Order: 8)"), generate_nasty, 1.5,1., 8 }, // 34 + {"free", 8, __("Algorithm: Freeform/4 (Order: 8)"), generate_freeform, 1.5,1., 9 }, // 35 + {"rogue", 8, __("Algorithm: Rogue (Order: 8)"), generate_rogue, 1.6,1.,10 }, // 36 + {"embed", 8, __("Algorithm: Embed (Order: 8)"), generate_embed, 4.,1.,10 }, // 37 + {"shape", 7, __("Operator"), generate_shape, 1.,2.,10 }, // 38 + + {"dense", 9, __("Algorithm: Original/Dense (Order: 9)"), generate_dense, .8,1., 5 }, // 39 + {"simple", 9, __("Algorithm: Original (Order: 9)"), generate_simple, 1.,1., 6 }, // 40 + {"sparse", 9, __("Algorithm: Original/Sparse (Order: 9)"),generate_sparse, 1.2,1., 7 }, // 41 + {"nasty", 9, __("Algorithm: Nasty (Order: 9)"), generate_nasty, 1.5,1., 8 }, // 42 + {"free", 9, __("Algorithm: Freeform/4 (Order: 9)"), generate_freeform, 1.5,1., 9 }, // 43 + {"rogue", 9, __("Algorithm: Rogue (Order: 9)"), generate_rogue, 1.6,1.,10 }, // 44 + {"embed", 9, __("Algorithm: Embed (Order: 9)"), generate_embed, 4.,1.,10 }, // 45 + {"shape", 8, __("The Inside Is Pointy"), generate_shape, 1.,2.,10 }, // 46 + + {"dense", 10, __("Algorithm: Original/Dense (Order: 10)"), generate_dense, .8,1., 5 }, // 47 + {"simple",10, __("Algorithm: Original (Order: 10)"), generate_simple, 1.,1., 6 }, // 48 + {"sparse",10, __("Algorithm: Original/Sparse (Order: 10)"),generate_sparse, 1.2,1., 7 }, // 49 + {"nasty", 10, __("Algorithm: Nasty (Order: 10)"), generate_nasty, 1.5,1., 8 }, // 50 + {"free", 10, __("Algorithm: Freeform/4 (Order: 10)"), generate_freeform, 1.5,1., 9 }, // 51 + {"rogue", 10, __("Algorithm: Rogue (Order: 10)"), generate_rogue, 1.6,1.,10 }, // 52 + {"embed", 10, __("Algorithm: Embed (Order: 10)"), generate_embed, 4.,1.,10 }, // 53 + {"shape", 9, __("Riches and Good Luck"), generate_shape, 1.,2.,10 }, // 54 + + {"dense", 11, __("Algorithm: Original/Dense (Order: 11)"), generate_dense, .8,1., 5 }, // 55 + {"simple",11, __("Algorithm: Original (Order: 11)"), generate_simple, 1.,1., 6 }, // 56 + {"sparse",11, __("Algorithm: Original/Sparse (Order: 11)"),generate_sparse, 1.2,1., 7 }, // 57 + {"nasty", 11, __("Algorithm: Nasty (Order: 11)"), generate_nasty, 1.5,1., 8 }, // 58 + {"free", 11, __("Algorithm: Freeform/4 (Order: 11)"), generate_freeform, 1.5,1., 9 }, // 59 + {"rogue", 11, __("Algorithm: Rogue (Order: 11)"), generate_rogue, 1.6,1.,10 }, // 60 + {"embed", 11, __("Algorithm: Embed (Order: 11)"), generate_embed, 4.,1.,10 }, // 61 + {"shape", 10, __("Mmmm... Doughnut"), generate_shape, 1.,2.,10 }, // 62 + + {"dense", 12, __("Algorithm: Original/Dense (Order: 12)"), generate_dense, .8,1., 5 }, // 63 + {"simple",12, __("Algorithm: Original (Order: 12)"), generate_simple, 1.,1., 6 }, // 64 + {"sparse",12, __("Algorithm: Original/Sparse (Order: 12)"),generate_sparse, 1.2,1., 7 }, // 65 + {"nasty", 12, __("Algorithm: Nasty (Order: 12)"), generate_nasty, 1.5,1., 8 }, // 66 + {"free", 12, __("Algorithm: Freeform/4 (Order: 12)"), generate_freeform, 1.5,1., 9 }, // 67 + {"rogue", 12, __("Algorithm: Rogue (Order: 12)"), generate_rogue, 1.6,1.,10 }, // 68 + {"embed", 12, __("Algorithm: Embed (Order: 12)"), generate_embed, 4.,1.,10 }, // 69 + {"shape", 11, __("Quick and Dirty, or Slow and Steady"), generate_shape, 1.,1.,10 }, // 70 + {"shape", 5, __("Little Fluffy Clouds"), generate_shape, 1.,2., 6 }, // 29 + + {"dense", 13, __("Algorithm: Original/Dense (Order: 13)"), generate_dense, .8,1., 5 }, // 71 + {"simple",13, __("Algorithm: Original (Order: 13)"), generate_simple, 1.,1., 6 }, // 72 + {"sparse",13, __("Algorithm: Original/Sparse (Order: 13)"),generate_sparse, 1.2,1., 7 }, // 73 + {"nasty", 13, __("Algorithm: Nasty (Order: 13)"), generate_nasty, 1.5,1., 8 }, // 74 + {"free", 13, __("Algorithm: Freeform/4 (Order: 13)"), generate_freeform, 1.5,1., 9 }, // 75 + {"rogue", 13, __("Algorithm: Rogue (Order: 13)"), generate_rogue, 1.6,1.,10 }, // 76 + {"embed", 13, __("Algorithm: Embed (Order: 13)"), generate_embed, 4.,1.,10 }, // 77 + {"shape", 12, __("A Sudden Urge To Go Shopping"), generate_shape, 1.,1.,10 }, // 78 + {"shape", 13, __("Sweet Reward"), generate_shape, 1.,1.,10 }, // 79 }; #define LOOP_LEVELS 8 static gen_instance i_list_loop[LOOP_LEVELS]={ - {"dense", 14, "Algorithm: Original/Dense (Order: %d)", generate_dense, .8,1., 5 }, // n - {"simple",14, "Algorithm: Original (Order: %d)", generate_simple, 1.,1., 6 }, // n - {"sparse",14, "Algorithm: Original/Sparse (Order: %d)",generate_sparse, 1.2,1., 7 }, // n - {"nasty", 14, "Algorithm: Nasty (Order: %d)", generate_nasty, 1.5,1., 8 }, // n - {"free", 14, "Algorithm: Freeform/4 (Order: %d)", generate_freeform, 1.5,1., 9 }, // n - {"rogue", 14, "Algorithm: Rogue (Order: %d)", generate_rogue, 1.6,1.,10 }, // n - {"embed", 14, "Algorithm: Embed (Order: %d)", generate_embed, 4.,1.,10 }, // n - {"shape", 14, "Algorithm: Region (Order: %d)", generate_shape, 1.,2.,10 }, + {"dense", 14, __("Algorithm: Original/Dense (Order: %d)"), generate_dense, .8,1., 5 }, // n + {"simple",14, __("Algorithm: Original (Order: %d)"), generate_simple, 1.,1., 6 }, // n + {"sparse",14, __("Algorithm: Original/Sparse (Order: %d)"),generate_sparse, 1.2,1., 7 }, // n + {"nasty", 14, __("Algorithm: Nasty (Order: %d)"), generate_nasty, 1.5,1., 8 }, // n + {"free", 14, __("Algorithm: Freeform/4 (Order: %d)"), generate_freeform, 1.5,1., 9 }, // n + {"rogue", 14, __("Algorithm: Rogue (Order: %d)"), generate_rogue, 1.6,1.,10 }, // n + {"embed", 14, __("Algorithm: Embed (Order: %d)"), generate_embed, 4.,1.,10 }, // n + {"shape", 14, __("Algorithm: Region (Order: %d)"), generate_shape, 1.,2.,10 }, }; int generate_find_number(char *id){ @@ -192,7 +193,7 @@ gm->desc = i_list[num].desc; gm->unlock_plus = i_list[num].unlock+1; if(asprintf(&gm->id,"%s %d",i_list[num].class,i_list[num].instancenum)==-1){ - fprintf(stderr,"Couldn't allocate memory for level name.\n"); + fprintf(stderr,_("Couldn't allocate memory for level name.\n")); return -1; } return 0; @@ -206,12 +207,12 @@ gm->num = num; gm->unlock_plus = i_list_loop[classnum].unlock+1; if(asprintf(&gm->desc,i_list_loop[classnum].desc,ordernum)==-1){ - fprintf(stderr,"Couldn't allocate memory for level desciption.\n"); + fprintf(stderr,_("Couldn't allocate memory for level desciption.\n")); return -1; } if(asprintf(&gm->id,"%s %d",i_list_loop[classnum].class,ordernum)==-1){ - fprintf(stderr,"Couldn't allocate memory for level name.\n"); + fprintf(stderr,_("Couldn't allocate memory for level name.\n")); return -1; } diff -Naur gPlanarity-20070402-orig/graph_region.c gPlanarity-20070402-i18n/graph_region.c --- gPlanarity-20070402-orig/graph_region.c 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/graph_region.c 2007-05-15 17:44:21.000000000 +0200 @@ -31,6 +31,7 @@ #include "graph.h" #include "graph_region.h" +#include "gettext.h" /* Regions are 'electric fences' for mesh building; used in mesh2 to make non-convex shapes */ @@ -455,8 +456,8 @@ } }else{ // circles shrunk and no longer overlap. - fprintf(stderr,"region overlap adjustment failed in arc_arc_adj; \n" - " This is an internal error that should never happen.\n"); + fprintf(stderr,_("region overlap adjustment failed in arc_arc_adj; \n" + " This is an internal error that should never happen.\n")); } } diff -Naur gPlanarity-20070402-orig/graph_score.c gPlanarity-20070402-i18n/graph_score.c --- gPlanarity-20070402-orig/graph_score.c 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/graph_score.c 2007-05-15 17:44:21.000000000 +0200 @@ -29,6 +29,7 @@ #include #include "graph.h" #include "timer.h" +#include "gettext.h" static char objective_string[160]; @@ -63,17 +64,17 @@ char *graphscore_objective_string(graph *g){ if(g->objective == 0) - return "zero intersections"; + return _("zero intersections"); if(g->objective == 1){ if(g->objective_lessthan){ - return "1 intersection or fewer"; + return _("1 intersection or fewer"); }else{ - return "1 intersection"; + return _("1 intersection"); } }else{ - snprintf(objective_string,160,"%d intersections%s", + snprintf(objective_string,160,_("%d intersections%s"), g->objective,(g->objective_lessthan? - " or fewer":"")); + _(" or fewer"):"")); return objective_string; } } diff -Naur gPlanarity-20070402-orig/levelstate.c gPlanarity-20070402-i18n/levelstate.c --- gPlanarity-20070402-orig/levelstate.c 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/levelstate.c 2007-05-21 20:11:16.000000000 +0200 @@ -166,7 +166,7 @@ f = fopen(name,"wb"); if(f==NULL){ - fprintf(stderr,"ERROR: Could not save game state file \"%s\":\n\t%s\n", + fprintf(stderr,_("ERROR: Could not save game state file \"%s\":\n\t%s\n"), curr->gm.id,strerror(errno)); return errno; } @@ -213,7 +213,7 @@ f = fopen(name,"rb"); if(f==NULL){ if(errno!=ENOENT){ - fprintf(stderr,"ERROR: Could not read game state file \"%s\":\n\t%s\n", + fprintf(stderr,_("ERROR: Could not read game state file \"%s\":\n\t%s\n"), curr->gm.id,strerror(errno)); } return errno; @@ -362,7 +362,7 @@ } char *get_level_desc(){ - return curr->gm.desc; + return _(curr->gm.desc); } void levelstate_finish(){ diff -Naur gPlanarity-20070402-orig/main.c gPlanarity-20070402-i18n/main.c --- gPlanarity-20070402-orig/main.c 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/main.c 2007-05-15 17:44:21.000000000 +0200 @@ -70,7 +70,7 @@ // this is ok return 0; default: - fprintf(stderr,"ERROR: Could not create directory (%s) to save game state:\n\t%s\n", + fprintf(stderr,_("ERROR: Could not create directory (%s) to save game state:\n\t%s\n"), name,strerror(errno)); return errno; } @@ -90,7 +90,7 @@ signal(sig,SIG_IGN); if(sig!=SIGINT) fprintf(stderr, - "\nTrapped signal %d; saving state and exiting!\n",sig); + _("\nTrapped signal %d; saving state and exiting!\n"),sig); levelstate_write(statedir); gtk_main_quit(); @@ -143,10 +143,10 @@ fc_pattern = FcFontMatch(0, fc_pattern, 0); if(!fc_pattern){ - fprintf(stderr,"\nUnable to find any suitable %s fonts!\n" - "Continuing, but the the results are likely to be poor.\n\n", + fprintf(stderr,_("\nUnable to find any suitable %s fonts!\n" + "Continuing, but the the results are likely to be poor.\n\n"), - (slant?(bold?"bold italic":"italic"):(bold?"bold":"medium")) ); + (slant?(bold?_("bold italic"):_("italic")):(bold?_("bold"):_("medium")))); } FcPatternGetString (fc_pattern, FC_FAMILY, 0, (FcChar8 **)&fontface); @@ -161,10 +161,10 @@ FcPatternGetBool(fc_pattern, FC_SCALABLE, 0, &scalable); if (scalable != FcTrue) { - fprintf(stderr,"\nSelected %s font \"%s\" is not scalable! This is almost as bad\n" + fprintf(stderr,_("\nSelected %s font \"%s\" is not scalable! This is almost as bad\n" "as not finding any font at all. Continuing, but this may look\n" - "very poor indeed.\n\n", - (slant?(bold?"bold italic":"italic"):(bold?"bold":"medium")), fontface); + "very poor indeed.\n\n"), + (slant?(bold?_("bold italic"):_("italic")):(bold?_("bold"):_("medium"))), fontface); } /* Set the hinting behavior we want; only the autohinter is giving @@ -270,6 +270,12 @@ } int main(int argc, char *argv[]){ +#ifdef ENABLE_NLS + setlocale(LC_ALL, ""); + textdomain(GT_DOMAIN); + bindtextdomain(GT_DOMAIN, GT_DIR); +#endif + char *homedir = getenv("home"); if(!homedir) homedir = getenv("HOME"); @@ -278,8 +284,9 @@ if(!homedir) homedir = getenv("HOMEDIR"); if(!homedir){ - fprintf(stderr,"No homedir environment variable set! gPlanarity will be\n" - "unable to permanently save any progress or board state.\n"); + fprintf(stderr, + _("No homedir environment variable set! gPlanarity will be\n" + "unable to permanently save any progress or board state.\n")); boarddir=NULL; statedir=NULL; }else{ diff -Naur gPlanarity-20070402-orig/main.h gPlanarity-20070402-i18n/main.h --- gPlanarity-20070402-orig/main.h 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/main.h 2007-05-15 17:37:20.000000000 +0200 @@ -26,6 +26,23 @@ #include +#ifdef ENABLE_NLS +#include +#include + +#define GT_DOMAIN X_GT_DOMAIN(UGT_DOMAIN) +#define X_GT_DOMAIN(x) XX_GT_DOMAIN(x) +#define XX_GT_DOMAIN(x) #x + +#define GT_DIR X_GT_DIR(UGT_DIR) +#define X_GT_DIR(x) XX_GT_DIR(x) +#define XX_GT_DIR(x) #x + +#define _(x) gettext(x) +#else +#define _(x) x +#endif + extern char *boarddir; extern char *statedir; extern char *fontface; diff -Naur gPlanarity-20070402-orig/Makefile gPlanarity-20070402-i18n/Makefile --- gPlanarity-20070402-orig/Makefile 2006-12-28 18:56:26.000000000 +0100 +++ gPlanarity-20070402-i18n/Makefile 2007-05-21 20:44:28.000000000 +0200 @@ -5,12 +5,26 @@ TARGET = gPlanarity CC = gcc LD = gcc -INSTALL = install +export INSTALL = install STRIP = strip PREFIX = /usr/local BINDIR = $(PREFIX)/bin ETCDIR = /etc/$(TARGET) MANDIR = $(PREFIX)/man +#DISABLE_NLS = true + + +# All subdirs with Makefiles +SUBDIRS = + +# By default, enable NLS +ifeq ($(origin DISABLE_NLS), undefined) +export GT_DOMAIN = $(TARGET) +export GT_DIR = $(PREFIX)/share/locale +ADD_DEF += -DUGT_DOMAIN="$(GT_DOMAIN)" -DUGT_DIR="$(GT_DIR)" -DENABLE_NLS +SUBDIRS += po +endif + # the very long LIBS entry is to build an executable that will # work for on most modern linux distros without any of the @@ -62,11 +76,16 @@ -lXext -lXrandr $(XINERAMA) -lXcursor -lX11 $(PIXMAN)\ -lXft $(PNG) -all: +all: all-local all-recursive + +all-local: pkg-config --cflags "gtk+-2.0 $(GTKVER) cairo $(CAIROVER) freetype2" 1>/dev/null $(MAKE) target CFLAGS='-O2 -ffast-math $(GCF) $(ADD_DEF)' $(STRIP) $(TARGET) +all-recursive: + for D in $(SUBDIRS); do make -C $$D || exit 1; done + static: pkg-config --cflags "gtk+-2.0 $(GTKVER) cairo $(CAIROVER) freetype2" 1>/dev/null $(MAKE) static-target CFLAGS='-O2 -ffast-math $(GCF) $(ADD_DEF)' @@ -80,9 +99,15 @@ pkg-config --cflags "gtk+-2.0 $(GTKVER) cairo $(CAIROVER) freetype2" 1>/dev/null $(MAKE) target CFLAGS='-pg -g -O2 -ffast-math $(GCF) $(ADD_DEF)" LIBS="$(LIBS) -lgprof-helper' -clean: +clean: clean-local clean-recursive + +clean-local: rm -f $(OBJ) *.d *.d.* gmon.out $(TARGET) +clean-recursive: + for D in $(SUBDIRS); do make -C $$D clean || exit 1; done + + distclean: clean rm -f *~ @@ -105,6 +130,11 @@ ./touch-version $(LD) $(OBJ) $(CFLAGS) -o $(TARGET) $(SLIBS) $(SLDF) -install: target +install: install-local install-recursive + +install-local: target $(INSTALL) -d -m 0755 $(BINDIR) $(INSTALL) -m 0755 $(TARGET) $(BINDIR) + +install-recursive: + for D in $(SUBDIRS); do make -C $$D install || exit 1; done diff -Naur gPlanarity-20070402-orig/po/cs.po gPlanarity-20070402-i18n/po/cs.po --- gPlanarity-20070402-orig/po/cs.po 1970-01-01 01:00:00.000000000 +0100 +++ gPlanarity-20070402-i18n/po/cs.po 2007-05-21 20:10:06.000000000 +0200 @@ -0,0 +1,894 @@ +# Czech translation for gPlanarity +# Copyright (C) 2007 +# This file is distributed under the same license as the gPlanarity package. +# Petr Pisar , 2007 +# +msgid "" +msgstr "" +"Project-Id-Version: gPlanarity 11496\n" +"Report-Msgid-Bugs-To: Monty \n" +"POT-Creation-Date: 2007-05-21 19:24+0200\n" +"PO-Revision-Date: 2007-05-21 20:09+0200\n" +"Last-Translator: Petr Pisar \n" +"Language-Team: Czech \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +# +msgid "exit gPlanarity" +msgstr "ukončit gPlanarity" + +# +msgid "level selection menu" +msgstr "nabídka výběru kol" + +# +msgid "play next level!" +msgstr "hrát další kolo!" + +# +msgid "Level Complete!" +msgstr "Kolo hotovo!" + +# +#, c-format +msgid "Elapsed: %s" +msgstr "Uplynulo: %s" + +# +#, c-format +msgid "Base score: %d points" +msgstr "Základní skóre: %d bodů" + +# +#, c-format +msgid "Objective Exceeded! %d%%" +msgstr "Úkol překonán! %d%%" + +# +#, c-format +msgid "Time bonus: %d points" +msgstr "Časový bonus: %d bodů" + +# +#, c-format +msgid "Final score: %d points" +msgstr "Konečné skóre: %d bodů" + +# +msgid "A high score!" +msgstr "Rekord!" + +# +#, c-format +msgid "Previous best: %ld points" +msgstr "Předchozí nejlepší: %ld bodů" + +# +msgid "Total score to date:" +msgstr "Celkové skóre ke dnešku:" + +# +#, c-format +msgid "%ld points" +msgstr "%ld bodů" + +# +msgid "reset level" +msgstr "znovu začít kolo" + +# +msgid "play level!" +msgstr "hrát kolo!" + +# +msgid "Available Levels" +msgstr "Dostupná kola" + +# +#, c-format +msgid "Level %d:" +msgstr "Kolo %d:" + +# +#, c-format +msgid "[not yet completed]" +msgstr "[ještě nedokončeno]" + +# +#, c-format +msgid "level high score: %ld" +msgstr "rekord pro kolo: %ld" + +# +#, c-format +msgid "total score all levels: %ld" +msgstr "celkové skóre za všechna kola: %ld" + +# +msgid "resume game!" +msgstr "pokračovat ve hře!" + +# +msgid "Game Paused" +msgstr "Hra zastavena" + +# +msgid "Time Elapsed:" +msgstr "Uplynulý čas:" + +# +msgid "gPlanarity" +msgstr "gPlanarity" + +# +msgid "Untangle the mess!" +msgstr "Rozmotejte šmodrchanec!" + +# +msgid "Drag verticies to eliminate crossed lines." +msgstr "Přesunujte vrcholy, abyste odstranili křížící se čáry." + +# +msgid "The objective may be a complete solution or" +msgstr "Zadání může být úplné řešení nebo" + +# +msgid "getting as close as possible to solving an" +msgstr "dobrání se podoby co nejbližší řešení" + +# +msgid "unsolvable puzzle. Work quickly and" +msgstr "neřešitelného rébusu. Pracujte rychle a" + +# +msgid "exceed the objective for bonus points!" +msgstr "získejte body navíc za překonání zadání!" + +# +msgid "gPlanarity written by Monty " +msgstr "gPlanarity napsal Monty " + +# +msgid "as a demonstration of Gtk+/Cairo" +msgstr "jako demo Gtk+/Caira" + +# +msgid "Original Flash version of Planarity by" +msgstr "Původní verzi Planarity ve flashy napsal" + +# +msgid "John Tantalo " +msgstr "John Tantalo " + +# +msgid "Original game concept by Mary Radcliffe" +msgstr "Koncepci hry vymyslela Mary Radcliffe." + +# +#, c-format +msgid "" +"\n" +"\n" +"ERROR: The windowmanager appears to be ignoring resize requests.\n" +"This stands a pretty good chance of scrambling any saved board larger\n" +"than the default window size.\n" +"\n" +msgstr "" +"\n" +"\n" +"CHYBA: Zdá se, že správce oken ignoruje požadavky na změnu velikosti okna.\n" +"Což znamená docela dobrou šanci, že uložená deska větší než výchozí " +"velikost\n" +"okna bude poškozená.\n" +"\n" + +# +#, c-format +msgid "" +"Clipping and/or expanding this board to the current window size...\n" +"\n" +msgstr "" +"Lze očekávat oříznutí a/nebo roztažení takové desky na rozměry okna…\n" +"\n" + +# +#, c-format +msgid "" +"\n" +"\n" +"ERROR: The window size granted by the windowmanager is not the\n" +"window size gPlanarity requested. If the windowmanager is\n" +"configured to ignore application sizing requests, this stands\n" +"a pretty good chance of scrambling saved boards later (and\n" +"making everything look funny now).\n" +"\n" +msgstr "" +"\n" +"\n" +"CHYBA: Požadovaná velikost okna gPlanarity a velikost zaručena správcem " +"oken\n" +"se liší. Pokud je správce oken nastaven, aby ignoroval požadavky na změnu\n" +"velikosti okna, je docela dobrá šance na poškození později uložených desek\n" +"(a na veselý vzhled čehokoliv již od teď).\n" +"\n" + +# +msgid "rather many, really" +msgstr "raději mnoho, opravdu" + +# +#, c-format +msgid "ERROR: Could not load board icon \"%s\"\n" +msgstr "CHYBA: Nelze načíst ikonu desky „%s“\n" + +# +#, c-format +msgid "ERROR: Could not save board icon \"%s\"\n" +msgstr "CHYBA: nelze uložit ikonu desky „%s“\n" + +# +#, c-format +msgid "Level %d: %s" +msgstr "Kolo %d: %s" + +# +#, c-format +msgid "Score: %d" +msgstr "Skóre: %d" + +# +#, c-format +msgid "%d%%" +msgstr "%d%%" + +# +#, c-format +msgid "Intersections: %ld" +msgstr "Průniků: %ld" + +# +#, c-format +msgid "Objective: %s" +msgstr "Zadání: %s" + +# +msgid "reset board" +msgstr "resetovat desku" + +# +msgid "pause" +msgstr "pauza" + +# +msgid "help / about" +msgstr "nápověda / o programu" + +# +msgid "expand" +msgstr "roztáhnout" + +# +msgid "shrink" +msgstr "smrštit" + +# +msgid "hide/show lines" +msgstr "skrýt/zobrazit čáry" + +# +msgid "mark intersections" +msgstr "označit průniky" + +# +msgid "click when finished!" +msgstr "po dokončení klikněte!" + +# +#, c-format +msgid "" +"ERROR: Could not save board state for \"%s\":\n" +"\t%s\n" +msgstr "" +"CHYBA: Nelze uložit stav desky pro „%s“:\n" +"\t%s\n" + +# +#, c-format +msgid "" +"ERROR: Could not read saved board state for \"%s\":\n" +"\t%s\n" +msgstr "" +"CHYBA: Nelze načíst uložený stav desky pro „%s“:\n" +"\t%s\n" + +# +#, c-format +msgid "WARNING: edge references out of range vertex in save file\n" +msgstr "VAROVÁNÍ: hrana odkazuje na vrchol mimo rozsah uložený v souboru\n" + +# +# File: ../graph_generate.c, line: 47 +msgid "A Small Beginning" +msgstr "Malý rozjezd" + +# +# File: ../graph_generate.c, line: 48 +msgid "My First Real Level(tm)" +msgstr "Moje první skutečné kolo™" + +# +# File: ../graph_generate.c, line: 49 +msgid "My First Mission Impossible(tm)" +msgstr "Moje první Mission Impossible™" + +# +# File: ../graph_generate.c, line: 50 +msgid "Larger But Not Harder" +msgstr "Větší ale ne těžší" + +# +# File: ../graph_generate.c, line: 51 +msgid "The Trick Is It's Easy" +msgstr "Fígl je v tom, že je to jednoduché" + +# +# File: ../graph_generate.c, line: 53 +msgid "Practice Before the Handbasket: One of Three" +msgstr "Rozcvička přede hrou: jeden na tři" + +# +# File: ../graph_generate.c, line: 53 +msgid "Practice Before the Handbasket: Two of Three" +msgstr "Rozcvička přede hrou: dva na tři" + +# +# File: ../graph_generate.c, line: 53 +msgid "Practice Before the Handbasket: Three of Three" +msgstr "Rozcvička přede hrou: tři na tři" + +# File: ../graph_generate.c, line: 57 +msgid "Tough and Stringy" +msgstr "Odolný a silný" + +# +# File: ../graph_generate.c, line: 58 +msgid "Threadbare" +msgstr "Obnošený" + +# +# File: ../graph_generate.c, line: 60 +msgid "The Bumpy Circles Are Slightly More Difficult" +msgstr "Hrbolaté kruhy jsou mírně obtížnější" + +# +# File: ../graph_generate.c, line: 61 +msgid "Three is a Magic Number" +msgstr "Trojka je kouzelné číslo" + +# +# File: ../graph_generate.c, line: 62 +msgid "Last Call For (Sort of) Triangles (For Now)" +msgstr "Poslední výzva pro (jisté) trojúhelníky (zatím)" + +# +# File: ../graph_generate.c, line: 64 +msgid "Something Only Subtly Different" +msgstr "Něco pouze lehce jiného" + +# +# File: ../graph_generate.c, line: 65 +msgid "It Can Roll! Granted, Not Very Well" +msgstr "A přece se točí! Jenom trochu, ale točí." + +# +# File: ../graph_generate.c, line: 66 +msgid "If You Squint, It's a Round Brick" +msgstr "Pokud šilháš, je to kulatá kostka" + +# +msgid "A New Objective" +msgstr "Nový úkol" + +# +# File: ../graph_generate.c, line: 69 +msgid "How Low Can You Go?" +msgstr "Jak nízko můžeš poklesnout?" + +# +# File: ../graph_generate.c, line: 70 +msgid "Military Industrial Complex" +msgstr "Vojenský průmyslový komplex" + +# +# File: ../graph_generate.c, line: 72 +msgid "The Hexagon is a Subtle and Wily Beast" +msgstr "Šestiúhelník je zákeřná a prohnaná potvora" + +# +# File: ../graph_generate.c, line: 73 +msgid "No, Really, The Hexagon Puzzles Are Harder" +msgstr "Ne, šestiúhelníkové hlavolamy jsou skutečně těžší" + +# +# File: ../graph_generate.c, line: 74 +msgid "Cursed? Call 1-800-HEX-A-GON Today!" +msgstr "Ztraceni? Volejte 800-6ST-RAN ještě dnes!" + +# +# File: ../graph_generate.c, line: 76 +msgid "Round but Straightforward" +msgstr "Kulatý ale přímočarý" + +# +# File: ../graph_generate.c, line: 78 +msgid "A Star Is Born... Then Solved" +msgstr "Zrodila se hvězda… Pak vyřešeno" + +# +# File: ../graph_generate.c, line: 79 +msgid "Oh, Rain*bows*..." +msgstr "Ó, *duha*…" + +# +# File: ../graph_generate.c, line: 80 +msgid "Solve Along the Dotted Line" +msgstr "Řešte podél tečkovaná čáry" + +# +# File: ../graph_generate.c, line: 81 +msgid "Using All Available Space" +msgstr "Použitím veškerého místa" + +# +# File: ../graph_generate.c, line: 82 +msgid "Brainfreeze" +msgstr "Mozek zamrzne" + +# +# File: ../graph_generate.c, line: 83 +msgid "Tropical Storm Invest" +msgstr "Tropická bouře INVEST" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original/Dense (Order: 8)" +msgstr "Algoritmus: Původní/Hustý (Stupeň: 8)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original (Order: 8)" +msgstr "Algoritmus: Původní (Stupeň: 8)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original/Sparse (Order: 8)" +msgstr "Algoritmus: Původní/řídký (Stupeň: 8)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Nasty (Order: 8)" +msgstr "Algoritmus: Ošklivý (Stupeň: 8)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Freeform/4 (Order: 8)" +msgstr "Algoritmus: Volný tvar / 4 (Stupeň: 8)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Rogue (Order: 8)" +msgstr "Algoritmus: Rošťák (Stupeň: 8)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Embed (Order: 8)" +msgstr "Algoritmus: Vložit (Stupeň: 8)" + +# +# File: ../graph_generate.c, line: 92 +msgid "Operator" +msgstr "Operátor" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original/Dense (Order: 9)" +msgstr "Algoritmus: Původní/Hustý (Stupeň: 9)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original (Order: 9)" +msgstr "Algoritmus: Původní (Stupeň: 9)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original/Sparse (Order: 9)" +msgstr "Algoritmus: Původní/Řídký (Stupeň: 9)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Nasty (Order: 9)" +msgstr "Algoritmus: Ošklivý (Stupeň: 9" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Freeform/4 (Order: 9)" +msgstr "Algoritmus: Volný tvar / 4 (Stupeň: 9)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Rogue (Order: 9)" +msgstr "Algoritmus: Rošťák (Stupeň: 9)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Embed (Order: 9)" +msgstr "Algoritmus: Vložit (Stupeň: 9)" + +# +# File: ../graph_generate.c, line: 101 +msgid "The Inside Is Pointy" +msgstr "Vnitřek je špičatý" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original/Dense (Order: 10)" +msgstr "Algoritmus: Původní/hustý (Stupeň: 10)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original (Order: 10)" +msgstr "Algoritmus: Původní (Stupeň: 10)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original/Sparse (Order: 10)" +msgstr "Algoritmus: Původní/řídký (Stupeň: 10)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Nasty (Order: 10)" +msgstr "Algoritmus: Ošklivý (Stupeň: 10)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Freeform/4 (Order: 10)" +msgstr "Algoritmus: Volný tvar / 4 (Stupeň: 10)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Rogue (Order: 10)" +msgstr "Algoritmus: Rošťák (Stupeň: 10)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Embed (Order: 10)" +msgstr "Algoritmus: Vložit (Stupeň: 10)" + +# +# File: ../graph_generate.c, line: 110 +msgid "Riches and Good Luck" +msgstr "Bohatství a hodně štěstí" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original/Dense (Order: 11)" +msgstr "Algoritmus: Původní/hustý (Stupeň: 11)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original (Order: 11)" +msgstr "Algoritmus: Původní (Stupeň: 11)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original/Sparse (Order: 11)" +msgstr "Algoritmus: Původní/řídký (Stupeň: 11)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Nasty (Order: 11)" +msgstr "Algoritmus: Ošklivý (Stupeň: 11)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Freeform/4 (Order: 11)" +msgstr "Algoritmus: Volný tvar / 4 (Stupeň: 11)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Rogue (Order: 11)" +msgstr "Algoritmus: Rošťák (Stupeň: 11)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Embed (Order: 11)" +msgstr "Algoritmus: Vložit (Stupeň: 11)" + +# +# File: ../graph_generate.c, line: 119 +msgid "Mmmm... Doughnut" +msgstr "Hm… koblížek" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original/Dense (Order: 12)" +msgstr "Algoritmus: Původní/hustý (Stupeň: 12)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original (Order: 12)" +msgstr "Algoritmus: Původní (Stupeň: 12)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original/Sparse (Order: 12)" +msgstr "Algoritmus: Původní/řídký (Stupeň: 12)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Nasty (Order: 12)" +msgstr "Algoritmus: Ošklivý (Stupeň: 12)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Freeform/4 (Order: 12)" +msgstr "Algoritmus: Volný tvar / 4 (Stupeň: 12)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Rogue (Order: 12)" +msgstr "Algoritmus: Rošťák (Stupeň: 12)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Embed (Order: 12)" +msgstr "Algoritmus: Vložit (Stupeň: 12)" + +# +# File: ../graph_generate.c, line: 128 +msgid "Quick and Dirty, or Slow and Steady" +msgstr "Rychle a špatně nebo pomalu a dobře" + +# +# File: ../graph_generate.c, line: 129 +msgid "Little Fluffy Clouds" +msgstr "Malé načechrané obláčky" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original/Dense (Order: 13)" +msgstr "Algoritmus: Původní/hustý (Stupeň: 13)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original (Order: 13)" +msgstr "Algoritmus: Původní (Stupeň: 13)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original/Sparse (Order: 13)" +msgstr "Algoritmus: Původní/řídký (Stupeň: 13)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Nasty (Order: 13)" +msgstr "Algoritmus: Ošklivý (Stupeň: 13)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Freeform/4 (Order: 13)" +msgstr "Algoritmus: Volný tvar / 4 (Stupeň: 13)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Rogue (Order: 13)" +msgstr "Algoritmus: Rošťák (Stupeň: 13)" + +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Embed (Order: 13)" +msgstr "Algoritmus: Vložit (Stupeň: 13)" + +# +# File: ../graph_generate.c, line: 138 +msgid "A Sudden Urge To Go Shopping" +msgstr "Náhlá povinnost jít nakopit" + +# +msgid "Sweet Reward" +msgstr "Sladká odměna" + +# +# File: ../graph_generate.c, line: 103 +#, c-format +msgid "Algorithm: Original/Dense (Order: %d)" +msgstr "Algoritmus: Původní/Hustý (Stupeň: %d)" + +# +# File: ../graph_generate.c, line: 103 +#, c-format +msgid "Algorithm: Original (Order: %d)" +msgstr "Algoritmus: Původní (Stupeň: %d)" + +# +# File: ../graph_generate.c, line: 103 +#, c-format +msgid "Algorithm: Original/Sparse (Order: %d)" +msgstr "Algoritmus: Původní/řídký (Stupeň: %d)" + +# +# File: ../graph_generate.c, line: 103 +#, c-format +msgid "Algorithm: Nasty (Order: %d)" +msgstr "Algoritmus: Ošklivý (Stupeň: %d)" + +# +# File: ../graph_generate.c, line: 103 +#, c-format +msgid "Algorithm: Freeform/4 (Order: %d)" +msgstr "Algoritmus: Volný tvar / 4 (Stupeň: %d)" + +# +# File: ../graph_generate.c, line: 103 +#, c-format +msgid "Algorithm: Rogue (Order: %d)" +msgstr "Algoritmus: Rošťák (Stupeň: %d)" + +# +# File: ../graph_generate.c, line: 103 +#, c-format +msgid "Algorithm: Embed (Order: %d)" +msgstr "Algoritmus: Vložit (Stupeň: %d)" + +# +# File: ../graph_generate.c, line: 103 +#, c-format +msgid "Algorithm: Region (Order: %d)" +msgstr "Algoritmus: Rošťák (Stupeň: %d)" + +# +#, c-format +msgid "Couldn't allocate memory for level name.\n" +msgstr "Nelze vyhradit paměť pro jméno kola.\n" + +# +#, c-format +msgid "Couldn't allocate memory for level desciption.\n" +msgstr "Nelze vyhradit paměť pro popis kola.\n" + +# +#, c-format +msgid "" +"region overlap adjustment failed in arc_arc_adj; \n" +" This is an internal error that should never happen.\n" +msgstr "" +"přizpůsobení překrývajících se oblastí selhalo v arc_arc_arj;\n" +" Toto je vnitřní chyba a nemělo by k ní nikdy dojít.\n" + +# +msgid "zero intersections" +msgstr "žádné průniky" + +# +msgid "1 intersection or fewer" +msgstr "1 průnik nebo méně" + +# +msgid "1 intersection" +msgstr "1 průnik" + +# +#, c-format +msgid "%d intersections%s" +msgstr "%d průniků%s" + +# +msgid " or fewer" +msgstr " nebo méně" + +# +#, c-format +msgid "" +"ERROR: Could not save game state file \"%s\":\n" +"\t%s\n" +msgstr "" +"CHYBA: Nelze uložit soubor se stavem hry „%s“:\n" +"\t%s\n" + +# +#, c-format +msgid "" +"ERROR: Could not read game state file \"%s\":\n" +"\t%s\n" +msgstr "" +"CHYBA: Nelze načíst soubor se stavem hry „%s“:\n" +"\t%s\n" + +# +#, c-format +msgid "" +"ERROR: Could not create directory (%s) to save game state:\n" +"\t%s\n" +msgstr "" +"CHYBA: Nelze vytvořit adresář (%s) pro ukládání stavu hry:\n" +"\t%s\n" + +# +#, c-format +msgid "" +"\n" +"Trapped signal %d; saving state and exiting!\n" +msgstr "" +"\n" +"Zachycen signál %d; uložím stav a skončím!\n" + +# +#, c-format +msgid "" +"\n" +"Unable to find any suitable %s fonts!\n" +"Continuing, but the the results are likely to be poor.\n" +"\n" +msgstr "" +"\n" +"Nelze najít žádný vhodný font s %s!\n" +"Pokračuji, ale výsledek asi bude ošklivý.\n" +"\n" + +# +msgid "bold italic" +msgstr "tučnou kurzívou" + +# +msgid "italic" +msgstr "kurzívou" + +# +msgid "bold" +msgstr "tučným řezem" + +# +msgid "medium" +msgstr "středním řezem" + +# +#, c-format +msgid "" +"\n" +"Selected %s font \"%s\" is not scalable! This is almost as bad\n" +"as not finding any font at all. Continuing, but this may look\n" +"very poor indeed.\n" +"\n" +msgstr "" +"\n" +"Vybraný font s %s „%s“ není škálovatelný!\n" +"Toto situace je téměř tak špatná jako když se nenajde font žádný.\n" +"Pokračuji, ale výsledek bude asi ošklivý\n" +"\n" + +# +#, c-format +msgid "" +"No homedir environment variable set! gPlanarity will be\n" +"unable to permanently save any progress or board state.\n" +msgstr "" +"Žádná proměnná prostředí neudává domovský adresář! gPlanatiry nebude " +"schopné\n" +"trvale uložit postup hráče nebo stav hrací desky.\n" + +# +#, c-format +msgid "%d:%02d:%02d" +msgstr "%d:%02d:%02d" + +# +#, c-format +msgid "%d:%02d" +msgstr "%d:%02d" + +# +#, c-format +msgid "%d seconds" +msgstr "%d sekund" diff -Naur gPlanarity-20070402-orig/po/gPlanarity.pot gPlanarity-20070402-i18n/po/gPlanarity.pot --- gPlanarity-20070402-orig/po/gPlanarity.pot 1970-01-01 01:00:00.000000000 +0100 +++ gPlanarity-20070402-i18n/po/gPlanarity.pot 2007-05-21 20:10:06.000000000 +0200 @@ -0,0 +1,778 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) 2007 Monty +# This file is distributed under the same license as the gPlanarity package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: Monty \n" +"POT-Creation-Date: 2007-05-21 19:24+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" +# +# File: ../dialog_finish.c, line: 80 +# File: ../dialog_level.c, line: 67 +# File: ../dialog_pause.c, line: 67 +# File: ../gameboard_logic_buttonbar.c, line: 54 +msgid "exit gPlanarity" +msgstr "" +# +# File: ../dialog_finish.c, line: 81 +# File: ../gameboard_logic_buttonbar.c, line: 55 +msgid "level selection menu" +msgstr "" +# +# File: ../dialog_finish.c, line: 82 +msgid "play next level!" +msgstr "" +# +# File: ../dialog_finish.c, line: 160 +msgid "Level Complete!" +msgstr "" +# +# File: ../dialog_finish.c, line: 164 +#, c-format +msgid "Elapsed: %s" +msgstr "" +# +# File: ../dialog_finish.c, line: 168 +#, c-format +msgid "Base score: %d points" +msgstr "" +# +# File: ../dialog_finish.c, line: 176 +#, c-format +msgid "Objective Exceeded! %d%%" +msgstr "" +# +# File: ../dialog_finish.c, line: 181 +#, c-format +msgid "Time bonus: %d points" +msgstr "" +# +# File: ../dialog_finish.c, line: 186 +#, c-format +msgid "Final score: %d points" +msgstr "" +# +# File: ../dialog_finish.c, line: 191 +msgid "A high score!" +msgstr "" +# +# File: ../dialog_finish.c, line: 194 +#, c-format +msgid "Previous best: %ld points" +msgstr "" +# +# File: ../dialog_finish.c, line: 199 +msgid "Total score to date:" +msgstr "" +# +# File: ../dialog_finish.c, line: 201 +#, c-format +msgid "%ld points" +msgstr "" +# +# File: ../dialog_level.c, line: 68 +msgid "reset level" +msgstr "" +# +# File: ../dialog_level.c, line: 69 +msgid "play level!" +msgstr "" +# +# File: ../dialog_level.c, line: 139 +msgid "Available Levels" +msgstr "" +# +# File: ../dialog_level_icons.c, line: 246 +#, c-format +msgid "Level %d:" +msgstr "" +# +# File: ../dialog_level_icons.c, line: 264 +#, c-format +msgid "[not yet completed]" +msgstr "" +# +# File: ../dialog_level_icons.c, line: 267 +#, c-format +msgid "level high score: %ld" +msgstr "" +# +# File: ../dialog_level_icons.c, line: 277 +#, c-format +msgid "total score all levels: %ld" +msgstr "" +# +# File: ../dialog_pause.c, line: 68 +msgid "resume game!" +msgstr "" +# +# File: ../dialog_pause.c, line: 131 +msgid "Game Paused" +msgstr "" +# +# File: ../dialog_pause.c, line: 134 +msgid "Time Elapsed:" +msgstr "" +# +# File: ../dialog_pause.c, line: 186 +msgid "gPlanarity" +msgstr "" +# +# File: ../dialog_pause.c, line: 190 +msgid "Untangle the mess!" +msgstr "" +# +# File: ../dialog_pause.c, line: 194 +msgid "Drag verticies to eliminate crossed lines." +msgstr "" +# +# File: ../dialog_pause.c, line: 195 +msgid "The objective may be a complete solution or" +msgstr "" +# +# File: ../dialog_pause.c, line: 196 +msgid "getting as close as possible to solving an" +msgstr "" +# +# File: ../dialog_pause.c, line: 197 +msgid "unsolvable puzzle. Work quickly and" +msgstr "" +# +# File: ../dialog_pause.c, line: 198 +msgid "exceed the objective for bonus points!" +msgstr "" +# +# File: ../dialog_pause.c, line: 207 +msgid "gPlanarity written by Monty " +msgstr "" +# +# File: ../dialog_pause.c, line: 208 +msgid "as a demonstration of Gtk+/Cairo" +msgstr "" +# +# File: ../dialog_pause.c, line: 210 +msgid "Original Flash version of Planarity by" +msgstr "" +# +# File: ../dialog_pause.c, line: 211 +msgid "John Tantalo " +msgstr "" +# +# File: ../dialog_pause.c, line: 213 +msgid "Original game concept by Mary Radcliffe" +msgstr "" +# +# File: ../gameboard.c, line: 75 +#, c-format +msgid "" +"\n" +"\n" +"ERROR: The windowmanager appears to be ignoring resize requests.\n" +"This stands a pretty good chance of scrambling any saved board larger\n" +"than the default window size.\n" +"\n" +msgstr "" +# +# File: ../gameboard.c, line: 78 +# File: ../gameboard.c, line: 189 +#, c-format +msgid "" +"Clipping and/or expanding this board to the current window size...\n" +"\n" +msgstr "" +# +# File: ../gameboard.c, line: 184 +#, c-format +msgid "" +"\n" +"\n" +"ERROR: The window size granted by the windowmanager is not the\n" +"window size gPlanarity requested. If the windowmanager is\n" +"configured to ignore application sizing requests, this stands\n" +"a pretty good chance of scrambling saved boards later (and\n" +"making everything look funny now).\n" +"\n" +msgstr "" +# +# File: ../gameboard_draw_intersection.c, line: 65 +msgid "rather many, really" +msgstr "" +# +# File: ../gameboard_draw_main.c, line: 370 +#, c-format +msgid "ERROR: Could not load board icon \"%s\"\n" +msgstr "" +# +# File: ../gameboard_draw_main.c, line: 436 +#, c-format +msgid "ERROR: Could not save board icon \"%s\"\n" +msgstr "" +# +# File: ../gameboard_draw_score.c, line: 67 +#, c-format +msgid "Level %d: %s" +msgstr "" +# +# File: ../gameboard_draw_score.c, line: 68 +#, c-format +msgid "Score: %d" +msgstr "" +# +# File: ../gameboard_draw_score.c, line: 69 +#, c-format +msgid "%d%%" +msgstr "" +# +# File: ../gameboard_draw_score.c, line: 70 +#, c-format +msgid "Intersections: %ld" +msgstr "" +# +# File: ../gameboard_draw_score.c, line: 71 +#, c-format +msgid "Objective: %s" +msgstr "" +# +# File: ../gameboard_logic_buttonbar.c, line: 56 +msgid "reset board" +msgstr "" +# +# File: ../gameboard_logic_buttonbar.c, line: 57 +msgid "pause" +msgstr "" +# +# File: ../gameboard_logic_buttonbar.c, line: 58 +msgid "help / about" +msgstr "" +# +# File: ../gameboard_logic_buttonbar.c, line: 59 +msgid "expand" +msgstr "" +# +# File: ../gameboard_logic_buttonbar.c, line: 60 +msgid "shrink" +msgstr "" +# +# File: ../gameboard_logic_buttonbar.c, line: 61 +msgid "hide/show lines" +msgstr "" +# +# File: ../gameboard_logic_buttonbar.c, line: 62 +msgid "mark intersections" +msgstr "" +# +# File: ../gameboard_logic_buttonbar.c, line: 63 +msgid "click when finished!" +msgstr "" +# +# File: ../gameboard_logic.c, line: 371 +#, c-format +msgid "" +"ERROR: Could not save board state for \"%s\":\n" +"\t%s\n" +msgstr "" +# +# File: ../gameboard_logic.c, line: 401 +#, c-format +msgid "" +"ERROR: Could not read saved board state for \"%s\":\n" +"\t%s\n" +msgstr "" +# +# File: ../graph.c, line: 923 +#, c-format +msgid "WARNING: edge references out of range vertex in save file\n" +msgstr "" +# +# File: ../graph_generate.c, line: 47 +msgid "A Small Beginning" +msgstr "" +# +# File: ../graph_generate.c, line: 48 +msgid "My First Real Level(tm)" +msgstr "" +# +# File: ../graph_generate.c, line: 49 +msgid "My First Mission Impossible(tm)" +msgstr "" +# +# File: ../graph_generate.c, line: 50 +msgid "Larger But Not Harder" +msgstr "" +# +# File: ../graph_generate.c, line: 51 +msgid "The Trick Is It's Easy" +msgstr "" +# +# File: ../graph_generate.c, line: 53 +msgid "Practice Before the Handbasket: One of Three" +msgstr "" +# +# File: ../graph_generate.c, line: 54 +msgid "Practice Before the Handbasket: Two of Three" +msgstr "" +# +# File: ../graph_generate.c, line: 55 +msgid "Practice Before the Handbasket: Three of Three" +msgstr "" +# +# File: ../graph_generate.c, line: 57 +msgid "Tough and Stringy" +msgstr "" +# +# File: ../graph_generate.c, line: 58 +msgid "Threadbare" +msgstr "" +# +# File: ../graph_generate.c, line: 60 +msgid "The Bumpy Circles Are Slightly More Difficult" +msgstr "" +# +# File: ../graph_generate.c, line: 61 +msgid "Three is a Magic Number" +msgstr "" +# +# File: ../graph_generate.c, line: 62 +msgid "Last Call For (Sort of) Triangles (For Now)" +msgstr "" +# +# File: ../graph_generate.c, line: 64 +msgid "Something Only Subtly Different" +msgstr "" +# +# File: ../graph_generate.c, line: 65 +msgid "It Can Roll! Granted, Not Very Well" +msgstr "" +# +# File: ../graph_generate.c, line: 66 +msgid "If You Squint, It's a Round Brick" +msgstr "" +# +# File: ../graph_generate.c, line: 68 +msgid "A New Objective" +msgstr "" +# +# File: ../graph_generate.c, line: 69 +msgid "How Low Can You Go?" +msgstr "" +# +# File: ../graph_generate.c, line: 70 +msgid "Military Industrial Complex" +msgstr "" +# +# File: ../graph_generate.c, line: 72 +msgid "The Hexagon is a Subtle and Wily Beast" +msgstr "" +# +# File: ../graph_generate.c, line: 73 +msgid "No, Really, The Hexagon Puzzles Are Harder" +msgstr "" +# +# File: ../graph_generate.c, line: 74 +msgid "Cursed? Call 1-800-HEX-A-GON Today!" +msgstr "" +# +# File: ../graph_generate.c, line: 76 +msgid "Round but Straightforward" +msgstr "" +# +# File: ../graph_generate.c, line: 78 +msgid "A Star Is Born... Then Solved" +msgstr "" +# +# File: ../graph_generate.c, line: 79 +msgid "Oh, Rain*bows*..." +msgstr "" +# +# File: ../graph_generate.c, line: 80 +msgid "Solve Along the Dotted Line" +msgstr "" +# +# File: ../graph_generate.c, line: 81 +msgid "Using All Available Space" +msgstr "" +# +# File: ../graph_generate.c, line: 82 +msgid "Brainfreeze" +msgstr "" +# +# File: ../graph_generate.c, line: 83 +msgid "Tropical Storm Invest" +msgstr "" +# +# File: ../graph_generate.c, line: 85 +msgid "Algorithm: Original/Dense (Order: 8)" +msgstr "" +# +# File: ../graph_generate.c, line: 86 +msgid "Algorithm: Original (Order: 8)" +msgstr "" +# +# File: ../graph_generate.c, line: 87 +msgid "Algorithm: Original/Sparse (Order: 8)" +msgstr "" +# +# File: ../graph_generate.c, line: 88 +msgid "Algorithm: Nasty (Order: 8)" +msgstr "" +# +# File: ../graph_generate.c, line: 89 +msgid "Algorithm: Freeform/4 (Order: 8)" +msgstr "" +# +# File: ../graph_generate.c, line: 90 +msgid "Algorithm: Rogue (Order: 8)" +msgstr "" +# +# File: ../graph_generate.c, line: 91 +msgid "Algorithm: Embed (Order: 8)" +msgstr "" +# +# File: ../graph_generate.c, line: 92 +msgid "Operator" +msgstr "" +# +# File: ../graph_generate.c, line: 94 +msgid "Algorithm: Original/Dense (Order: 9)" +msgstr "" +# +# File: ../graph_generate.c, line: 95 +msgid "Algorithm: Original (Order: 9)" +msgstr "" +# +# File: ../graph_generate.c, line: 96 +msgid "Algorithm: Original/Sparse (Order: 9)" +msgstr "" +# +# File: ../graph_generate.c, line: 97 +msgid "Algorithm: Nasty (Order: 9)" +msgstr "" +# +# File: ../graph_generate.c, line: 98 +msgid "Algorithm: Freeform/4 (Order: 9)" +msgstr "" +# +# File: ../graph_generate.c, line: 99 +msgid "Algorithm: Rogue (Order: 9)" +msgstr "" +# +# File: ../graph_generate.c, line: 100 +msgid "Algorithm: Embed (Order: 9)" +msgstr "" +# +# File: ../graph_generate.c, line: 101 +msgid "The Inside Is Pointy" +msgstr "" +# +# File: ../graph_generate.c, line: 103 +msgid "Algorithm: Original/Dense (Order: 10)" +msgstr "" +# +# File: ../graph_generate.c, line: 104 +msgid "Algorithm: Original (Order: 10)" +msgstr "" +# +# File: ../graph_generate.c, line: 105 +msgid "Algorithm: Original/Sparse (Order: 10)" +msgstr "" +# +# File: ../graph_generate.c, line: 106 +msgid "Algorithm: Nasty (Order: 10)" +msgstr "" +# +# File: ../graph_generate.c, line: 107 +msgid "Algorithm: Freeform/4 (Order: 10)" +msgstr "" +# +# File: ../graph_generate.c, line: 108 +msgid "Algorithm: Rogue (Order: 10)" +msgstr "" +# +# File: ../graph_generate.c, line: 109 +msgid "Algorithm: Embed (Order: 10)" +msgstr "" +# +# File: ../graph_generate.c, line: 110 +msgid "Riches and Good Luck" +msgstr "" +# +# File: ../graph_generate.c, line: 112 +msgid "Algorithm: Original/Dense (Order: 11)" +msgstr "" +# +# File: ../graph_generate.c, line: 113 +msgid "Algorithm: Original (Order: 11)" +msgstr "" +# +# File: ../graph_generate.c, line: 114 +msgid "Algorithm: Original/Sparse (Order: 11)" +msgstr "" +# +# File: ../graph_generate.c, line: 115 +msgid "Algorithm: Nasty (Order: 11)" +msgstr "" +# +# File: ../graph_generate.c, line: 116 +msgid "Algorithm: Freeform/4 (Order: 11)" +msgstr "" +# +# File: ../graph_generate.c, line: 117 +msgid "Algorithm: Rogue (Order: 11)" +msgstr "" +# +# File: ../graph_generate.c, line: 118 +msgid "Algorithm: Embed (Order: 11)" +msgstr "" +# +# File: ../graph_generate.c, line: 119 +msgid "Mmmm... Doughnut" +msgstr "" +# +# File: ../graph_generate.c, line: 121 +msgid "Algorithm: Original/Dense (Order: 12)" +msgstr "" +# +# File: ../graph_generate.c, line: 122 +msgid "Algorithm: Original (Order: 12)" +msgstr "" +# +# File: ../graph_generate.c, line: 123 +msgid "Algorithm: Original/Sparse (Order: 12)" +msgstr "" +# +# File: ../graph_generate.c, line: 124 +msgid "Algorithm: Nasty (Order: 12)" +msgstr "" +# +# File: ../graph_generate.c, line: 125 +msgid "Algorithm: Freeform/4 (Order: 12)" +msgstr "" +# +# File: ../graph_generate.c, line: 126 +msgid "Algorithm: Rogue (Order: 12)" +msgstr "" +# +# File: ../graph_generate.c, line: 127 +msgid "Algorithm: Embed (Order: 12)" +msgstr "" +# +# File: ../graph_generate.c, line: 128 +msgid "Quick and Dirty, or Slow and Steady" +msgstr "" +# +# File: ../graph_generate.c, line: 129 +msgid "Little Fluffy Clouds" +msgstr "" +# +# File: ../graph_generate.c, line: 131 +msgid "Algorithm: Original/Dense (Order: 13)" +msgstr "" +# +# File: ../graph_generate.c, line: 132 +msgid "Algorithm: Original (Order: 13)" +msgstr "" +# +# File: ../graph_generate.c, line: 133 +msgid "Algorithm: Original/Sparse (Order: 13)" +msgstr "" +# +# File: ../graph_generate.c, line: 134 +msgid "Algorithm: Nasty (Order: 13)" +msgstr "" +# +# File: ../graph_generate.c, line: 135 +msgid "Algorithm: Freeform/4 (Order: 13)" +msgstr "" +# +# File: ../graph_generate.c, line: 136 +msgid "Algorithm: Rogue (Order: 13)" +msgstr "" +# +# File: ../graph_generate.c, line: 137 +msgid "Algorithm: Embed (Order: 13)" +msgstr "" +# +# File: ../graph_generate.c, line: 138 +msgid "A Sudden Urge To Go Shopping" +msgstr "" +# +# File: ../graph_generate.c, line: 139 +msgid "Sweet Reward" +msgstr "" +# +# File: ../graph_generate.c, line: 145 +#, c-format +msgid "Algorithm: Original/Dense (Order: %d)" +msgstr "" +# +# File: ../graph_generate.c, line: 146 +#, c-format +msgid "Algorithm: Original (Order: %d)" +msgstr "" +# +# File: ../graph_generate.c, line: 147 +#, c-format +msgid "Algorithm: Original/Sparse (Order: %d)" +msgstr "" +# +# File: ../graph_generate.c, line: 148 +#, c-format +msgid "Algorithm: Nasty (Order: %d)" +msgstr "" +# +# File: ../graph_generate.c, line: 149 +#, c-format +msgid "Algorithm: Freeform/4 (Order: %d)" +msgstr "" +# +# File: ../graph_generate.c, line: 150 +#, c-format +msgid "Algorithm: Rogue (Order: %d)" +msgstr "" +# +# File: ../graph_generate.c, line: 151 +#, c-format +msgid "Algorithm: Embed (Order: %d)" +msgstr "" +# +# File: ../graph_generate.c, line: 152 +#, c-format +msgid "Algorithm: Region (Order: %d)" +msgstr "" +# +# File: ../graph_generate.c, line: 196 +# File: ../graph_generate.c, line: 215 +#, c-format +msgid "Couldn't allocate memory for level name.\n" +msgstr "" +# +# File: ../graph_generate.c, line: 210 +#, c-format +msgid "Couldn't allocate memory for level desciption.\n" +msgstr "" +# +# File: ../graph_region.c, line: 459 +#, c-format +msgid "" +"region overlap adjustment failed in arc_arc_adj; \n" +" This is an internal error that should never happen.\n" +msgstr "" +# +# File: ../graph_score.c, line: 67 +msgid "zero intersections" +msgstr "" +# +# File: ../graph_score.c, line: 70 +msgid "1 intersection or fewer" +msgstr "" +# +# File: ../graph_score.c, line: 72 +msgid "1 intersection" +msgstr "" +# +# File: ../graph_score.c, line: 75 +#, c-format +msgid "%d intersections%s" +msgstr "" +# +# File: ../graph_score.c, line: 77 +msgid " or fewer" +msgstr "" +# +# File: ../levelstate.c, line: 169 +#, c-format +msgid "" +"ERROR: Could not save game state file \"%s\":\n" +"\t%s\n" +msgstr "" +# +# File: ../levelstate.c, line: 216 +#, c-format +msgid "" +"ERROR: Could not read game state file \"%s\":\n" +"\t%s\n" +msgstr "" +# +# File: ../main.c, line: 73 +#, c-format +msgid "" +"ERROR: Could not create directory (%s) to save game state:\n" +"\t%s\n" +msgstr "" +# +# File: ../main.c, line: 93 +#, c-format +msgid "" +"\n" +"Trapped signal %d; saving state and exiting!\n" +msgstr "" +# +# File: ../main.c, line: 146 +#, c-format +msgid "" +"\n" +"Unable to find any suitable %s fonts!\n" +"Continuing, but the the results are likely to be poor.\n" +"\n" +msgstr "" +# +# File: ../main.c, line: 149 +# File: ../main.c, line: 167 +msgid "bold italic" +msgstr "" +# +# File: ../main.c, line: 149 +# File: ../main.c, line: 167 +msgid "italic" +msgstr "" +# +# File: ../main.c, line: 149 +# File: ../main.c, line: 167 +msgid "bold" +msgstr "" +# +# File: ../main.c, line: 149 +# File: ../main.c, line: 167 +msgid "medium" +msgstr "" +# +# File: ../main.c, line: 164 +#, c-format +msgid "" +"\n" +"Selected %s font \"%s\" is not scalable! This is almost as bad\n" +"as not finding any font at all. Continuing, but this may look\n" +"very poor indeed.\n" +"\n" +msgstr "" +# +# File: ../main.c, line: 288 +#, c-format +msgid "" +"No homedir environment variable set! gPlanarity will be\n" +"unable to permanently save any progress or board state.\n" +msgstr "" +# +# File: ../timer.c, line: 51 +#, c-format +msgid "%d:%02d:%02d" +msgstr "" +# +# File: ../timer.c, line: 53 +#, c-format +msgid "%d:%02d" +msgstr "" +# +# File: ../timer.c, line: 55 +#, c-format +msgid "%d seconds" +msgstr "" diff -Naur gPlanarity-20070402-orig/po/header.sed gPlanarity-20070402-i18n/po/header.sed --- gPlanarity-20070402-orig/po/header.sed 1970-01-01 01:00:00.000000000 +0100 +++ gPlanarity-20070402-i18n/po/header.sed 2007-05-15 18:53:45.000000000 +0200 @@ -0,0 +1,3 @@ +2 c \# Copyright (C) 2007 Monty +3 s/PACKAGE/gPlanarity/ + diff -Naur gPlanarity-20070402-orig/po/Makefile gPlanarity-20070402-i18n/po/Makefile --- gPlanarity-20070402-orig/po/Makefile 1970-01-01 01:00:00.000000000 +0100 +++ gPlanarity-20070402-i18n/po/Makefile 2007-05-21 20:10:06.000000000 +0200 @@ -0,0 +1,27 @@ +#GT_DOMAIN:=gPlanarity +SRC=../*.c +PO=$(wildcard *.po) +GMO=$(PO:.po=.gmo) + +HEADER=--msgid-bugs-address="Monty " + +all: $(GT_DOMAIN).pot $(GMO) + +$(GT_DOMAIN).pot: $(SRC) + xgettext --strict $(HEADER) -d $(GT_DOMAIN) -o /dev/stdout \ + -L C --keyword=_ --keyword=__ $(SRC) | sed -f header.sed >$@ + +%.gmo: %.po $(GT_DOMAIN).pot + msgmerge --add-location -o "$ #include "timer.h" +#include "gettext.h" static int paused; static time_t begin_time_add; @@ -47,11 +48,11 @@ int se = get_timer() - ho*3600 - mi*60; if(ho){ - snprintf(timebuffer,160,"%d:%02d:%02d",ho,mi,se); + snprintf(timebuffer,160,_("%d:%02d:%02d"),ho,mi,se); }else if (mi){ - snprintf(timebuffer,160,"%d:%02d",mi,se); + snprintf(timebuffer,160,_("%d:%02d"),mi,se); }else{ - snprintf(timebuffer,160,"%d seconds",se); + snprintf(timebuffer,160,_("%d seconds"),se); } return timebuffer;