[GRASS-SVN] r52637 - in grass/trunk: display/d.thematic.area display/d.vect general/g.gui imagery/i.landsat.toar imagery/i.modis.qc imagery/i.vi misc/m.nviz.image misc/m.transform raster/r.report raster/r.usler vector/v.build.polylines vector/v.category vector/v.class vector/v.distance vector/v.drape vector/v.edit vector/v.in.ascii vector/v.in.ogr vector/v.kernel vector/v.mkgrid vector/v.net vector/v.net.bridge vector/v.net.components vector/v.out.ascii vector/v.overlay vector/v.parallel vector/v.select vector/v.to.db vector/v.to.rast

svn_grass at osgeo.org svn_grass at osgeo.org
Sun Aug 12 07:29:09 PDT 2012


Author: annakrat
Date: 2012-08-12 07:29:08 -0700 (Sun, 12 Aug 2012)
New Revision: 52637

Modified:
   grass/trunk/display/d.thematic.area/main.c
   grass/trunk/display/d.vect/main.c
   grass/trunk/general/g.gui/main.c
   grass/trunk/imagery/i.landsat.toar/main.c
   grass/trunk/imagery/i.modis.qc/main.c
   grass/trunk/imagery/i.vi/main.c
   grass/trunk/misc/m.nviz.image/args.c
   grass/trunk/misc/m.transform/main.c
   grass/trunk/raster/r.report/parse.c
   grass/trunk/raster/r.usler/main.c
   grass/trunk/vector/v.build.polylines/main.c
   grass/trunk/vector/v.category/main.c
   grass/trunk/vector/v.class/main.c
   grass/trunk/vector/v.distance/main.c
   grass/trunk/vector/v.drape/main.c
   grass/trunk/vector/v.edit/args.c
   grass/trunk/vector/v.in.ascii/main.c
   grass/trunk/vector/v.in.ogr/main.c
   grass/trunk/vector/v.kernel/main.c
   grass/trunk/vector/v.mkgrid/main.c
   grass/trunk/vector/v.net.bridge/main.c
   grass/trunk/vector/v.net.components/main.c
   grass/trunk/vector/v.net/args.c
   grass/trunk/vector/v.out.ascii/args.c
   grass/trunk/vector/v.overlay/main.c
   grass/trunk/vector/v.parallel/main.c
   grass/trunk/vector/v.select/args.c
   grass/trunk/vector/v.to.db/parse.c
   grass/trunk/vector/v.to.rast/main.c
Log:
option name in descriptions must not be translatable

Modified: grass/trunk/display/d.thematic.area/main.c
===================================================================
--- grass/trunk/display/d.thematic.area/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/display/d.thematic.area/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -55,6 +55,7 @@
     struct Option *field_opt;
     struct Option *legend_file_opt;
     struct Flag *legend_flag, *algoinfo_flag, *nodraw_flag;
+    char *desc;
 
     struct cat_list *Clist;
     int *cats, ncat, nrec, ctype;
@@ -102,10 +103,14 @@
     algo_opt->multiple = NO;
     algo_opt->options = "int,std,qua,equ,dis";
     algo_opt->description = _("Algorithm to use for classification");
-    algo_opt->descriptions = _("int;simple intervals;"
-			       "std;standard deviations;"
-			       "qua;quantiles;"
-			       "equ;equiprobable (normal distribution);");
+    desc = NULL;
+    G_asprintf(&desc,
+	        "int;%s;std;%s;qua;%s;equ;%s",
+	        _("simple intervals"),
+	        _("standard deviations"),
+	        _("quantiles"),
+	        _("equiprobable (normal distribution)"));
+    algo_opt->descriptions = desc;
     /*currently disabled because of bugs       "dis;discontinuities"); */
 
     nbclass_opt = G_define_option();

Modified: grass/trunk/display/d.vect/main.c
===================================================================
--- grass/trunk/display/d.vect/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/display/d.vect/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -54,6 +54,7 @@
     struct Option *width_opt, *wcolumn_opt, *wscale_opt;
     struct Flag *id_flag, *table_acolors_flag, *cats_acolors_flag,
 	*zcol_flag, *sqrt_flag;
+    char *desc;
     
     struct cat_list *Clist;
     LATTR lattr;
@@ -84,12 +85,16 @@
     display_opt->answer = "shape";
     display_opt->options = "shape,cat,topo,dir,attr,zcoor";
     display_opt->description = _("Display");
-    display_opt->descriptions = _("shape;Display geometry of features;"
-				  "cat;Display category numbers of features;"
-				  "topo;Display topology information (nodes, edges);"
-				  "dir;Display direction of linear features;"
-				  "attr;Display selected attribute based on 'attrcolumn';"
-				  "zcoor;Display z-coordinate of features (only for 3D vector maps)");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "shape;%s;cat;%s;topo;%s;dir;%s;attr;%s;zcoor;%s",
+	       _("Display geometry of features"),
+	       _("Display category numbers of features"),
+	       _("Display topology information (nodes, edges)"),
+	       _("Display direction of linear features"),
+	       _("Display selected attribute based on 'attrcolumn'"),
+	       _("Display z-coordinate of features (only for 3D vector maps)"));
+    display_opt->descriptions = desc;
     
     /* Query */
     type_opt = G_define_standard_option(G_OPT_V_TYPE);

Modified: grass/trunk/general/g.gui/main.c
===================================================================
--- grass/trunk/general/g.gui/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/general/g.gui/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -29,6 +29,7 @@
     struct GModule *module;
     const char *gui_type_env;
     char progname[GPATH_MAX];
+    char *desc;
 
     G_gisinit(argv[0]);
 
@@ -43,8 +44,12 @@
     type->type = TYPE_STRING;
     type->label = _("GUI type");
     type->description = _("Default value: GRASS_GUI if defined otherwise wxpython");
-    type->descriptions = _("wxpython;wxPython based GUI (wxGUI);"
-			   "text;command line interface only");
+    desc = NULL;
+    G_asprintf(&desc,
+	        "wxpython;%s;text;%s",
+	        _("wxPython based GUI (wxGUI)"),
+	        _("command line interface only"));
+    type->descriptions = desc;
     type->options = "wxpython,text";
 
     rc_file = G_define_standard_option(G_OPT_F_INPUT);

Modified: grass/trunk/imagery/i.landsat.toar/main.c
===================================================================
--- grass/trunk/imagery/i.landsat.toar/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/imagery/i.landsat.toar/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -31,6 +31,7 @@
 {
     struct History history;
     struct GModule *module;
+    char *desc;
     
     struct Cell_head cellhd;
     
@@ -97,13 +98,16 @@
     sensor->label = _("Spacecraft sensor");
     sensor->description = _("Required only if 'metfile' not given");
     sensor->options = "mss1,mss2,mss3,tm4,tm5,tm7";
-    sensor->descriptions =
-	_("mss1;Landsat-1 MSS;"
-	  "mss2;Landsat-2 MSS;"
-	  "mss3;Landsat-3 MSS;"
-	  "tm4;Landsat-4 TM;"
-	  "tm5;Landsat-5 TM;"
-	  "tm7;Landsat-7 ETM+");
+    desc = NULL;
+    G_asprintf(&desc,
+	        "mss1;%s;mss2;%s;mss3;%s;tm4;%s;tm5;%s;tm7;%s",
+	        _("Landsat-1 MSS"),
+	        _("Landsat-2 MSS"),
+	        _("Landsat-3 MSS"),
+	        _("Landsat-4 TM"),
+	        _("Landsat-5 TM"),
+	        _("Landsat-7 ETM+"));
+    sensor->descriptions = desc;
     sensor->required = NO;
     sensor->guisection = _("Metadata");
 

Modified: grass/trunk/imagery/i.modis.qc/main.c
===================================================================
--- grass/trunk/imagery/i.modis.qc/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/imagery/i.modis.qc/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -97,6 +97,7 @@
     struct Option *productname, *qcname, *input, *input_band, *output;
     struct History history;	/*metadata */
     struct Colors colors;	/*Color rules */
+    char *desc_productname, *desc_qcname, *desc_input_band;
 
     char *result;		/*output raster name */
 
@@ -138,15 +139,25 @@
     productname->type = TYPE_STRING;
     productname->required = YES;
     productname->description = _("Name of MODIS product type");
-    productname->descriptions =_("mod09Q1;surf. refl. 250m 8-days;"
-				 "mod09A1;surf. refl. 500m 8-days;"
-				 "mod09A1s;surf. refl. 500m 8-days, State QA;"
-				 "mod11A1;LST 1Km daily (Day/Night);"
-				 "mod11A2;LST 1Km 8-days (Day/Night);"
-				 "mod13A2;VI 1Km 16-days;"
-				 "mcd43B2;Brdf-Albedo Quality (Ancillary SDS) 1Km 8-days;"
-				 "mcd43B2q;Brdf-Albedo Quality (BRDF SDS) 1Km 8-days;"
-				 );
+    desc_productname = NULL;
+    G_asprintf(&desc_productname,
+	       "mod09Q1;%s;"
+	       "mod09A1;%s;"
+	       "mod09A1s;%s;"
+	       "mod11A1;%s;"
+	       "mod11A2;%s;"
+	       "mod13A2;%s;"
+	       "mcd43B2;%s;"
+	       "mcd43B2q;%s",
+	       _("surf. refl. 250m 8-days"),
+	       _("surf. refl. 500m 8-days"),
+	       _("surf. refl. 500m 8-days, State QA"),
+	       _("LST 1Km daily (Day/Night)"),
+	       _("LST 1Km 8-days (Day/Night)"),
+	       _("VI 1Km 16-days"),
+	       _("Brdf-Albedo Quality (Ancillary SDS) 1Km 8-days"),
+	       _("Brdf-Albedo Quality (BRDF SDS) 1Km 8-days"));
+    productname->descriptions = desc_productname;
     productname->options = "mod09Q1,mod09A1,mod09A1s,mod11A1,mod11A2,mod13A2,mcd43B2,mcd43B2q";
     productname->answer = "mod13A2";
     
@@ -155,45 +166,85 @@
     qcname->type = TYPE_STRING;
     qcname->required = YES;
     qcname->description = _("Name of QC type to extract");
-    qcname->descriptions =_("adjcorr;mod09: Adjacency Correction;"
-                            "atcorr;mod09: Atmospheric Correction;"
-                            "cloud;mod09: Cloud State;"
-                            "data_quality;mod09: Band-Wise Data Quality Flag;"
-                            "diff_orbit_from_500m;mod09: 250m Band is at Different Orbit than 500m;"
-                            "modland_qa;mod09: MODIS Land General Quality Assessment;"
-                            "mandatory_qa_11A1;mod11A1: MODIS Land General Quality Assessment;"
-                            "data_quality_flag_11A1;mod11A1: Detailed Quality Indications;"
-                            "emis_error_11A1;mod11A1: Average Emissivity Error Classes;"
-                            "lst_error_11A1;mod11A1: Average LST Error Classes;"
-                            "data_quality_flag_11A2;mod11A2: Detailed Quality Indications;"
-                            "emis_error_11A2;mod11A2: Average Emissivity Error Classes;"
-                            "mandatory_qa_11A2;mod11A2: MODIS Land General Quality Assessment;"
-                            "lst_error_11A2;mod11A2: Average LST Error Classes;"
-                            "aerosol_quantity;mod09A1s: StateQA Internal Snow Mask;"
-                            "brdf_correction_performed;mod09A1s: StateQA Internal Snow Mask;"
-                            "cirrus_detected;mod09A1s: StateQA Internal Snow Mask;"
-                            "cloud_shadow;mod09A1s: StateQA Internal Snow Mask;"
-                            "cloud_state;mod09A1s: StateQA Internal Snow Mask;"
-                            "internal_cloud_algorithm;mod09A1s: StateQA Internal Snow Mask;"
-                            "internal_fire_algorithm;mod09A1s: StateQA Internal Snow Mask;"
-                            "internal_snow_mask;mod09A1s: StateQA Internal Snow Mask;"
-                            "land_water;mod09A1s: StateQA Internal Snow Mask;"
-                            "mod35_snow_ice;mod09A1s: StateQA Internal Snow Mask;"
-                            "pixel_adjacent_to_cloud;mod09A1s: StateQA Internal Snow Mask;"
-			    "modland_qa;mod13A2: MODIS Land General Quality Assessment;"
-			    "vi_usefulness;mod13A2: Quality estimation of the pixel;"
-			    "aerosol_quantity;mod13A2: Quantity range of Aerosol;"
-			    "pixel_adjacent_to_cloud;mod13A2: if pixel is a cloud neighbour;"
-			    "brdf_correction_performed;mod13A2: if BRDF correction performed;"
-			    "mixed_clouds;mod13A2: if pixel mixed with clouds;"
-			    "land_water;mod13A2: separate land from various water objects;"
-			    "possible_snow_ice;mod13A2: if snow/ice present in pixel;"
-			    "possible_shadow;mod13A2: if shadow is present in pixel;"
-			    "platform;mcd43B2: Quality of BRDF correction performed;"
-			    "land_water;mcd43B2: Quality of BRDF correction performed;"
-			    "sun_z_angle_at_local_noon;mcd43B2: Quality of BRDF correction performed;"
-			    "brdf_correction_performed;mcd43B2q: Quality of BRDF correction performed"
-			    );
+    desc_qcname = NULL;
+    G_asprintf(&desc_qcname,
+               "adjcorr;%s;"
+	       "atcorr;%s;"
+	       "cloud;%s;"
+	       "data_quality;%s;"
+	       "diff_orbit_from_500m;%s;"
+	       "modland_qa;%s;"
+	       "mandatory_qa_11A1;%s;"
+	       "data_quality_flag_11A1;%s;"
+	       "emis_error_11A1;%s;"
+	       "lst_error_11A1;%s;"
+	       "data_quality_flag_11A2;%s;"
+	       "emis_error_11A2;%s;"
+	       "mandatory_qa_11A2;%s;"
+	       "lst_error_11A2;%s;"
+	       "aerosol_quantity;%s;"
+	       "brdf_correction_performed;%s;"
+	       "cirrus_detected;%s;"
+	       "cloud_shadow;%s;"
+	       "cloud_state;%s;"
+	       "internal_cloud_algorithm;%s;"
+	       "internal_fire_algorithm;%s;"
+	       "internal_snow_mask;%s;"
+	       "land_water;%s;"
+	       "mod35_snow_ice;%s;"
+	       "pixel_adjacent_to_cloud;%s;"
+	       "modland_qa;%s;"
+	       "vi_usefulness;%s;"
+	       "aerosol_quantity;%s;"
+	       "pixel_adjacent_to_cloud;%s;"
+	       "brdf_correction_performed;%s;"
+	       "mixed_clouds;%s;"
+	       "land_water;%s;"
+	       "possible_snow_ice;%s;"
+	       "possible_shadow;%s;"
+	       "platform;%s;"
+	       "land_water;%s;"
+	       "sun_z_angle_at_local_noon;%s;"
+	       "brdf_correction_performed;%s",
+	       _("mod09: Adjacency Correction"),
+	       _("mod09: Atmospheric Correction"),
+	       _("mod09: Cloud State"),
+	       _("mod09: Band-Wise Data Quality Flag"),
+	       _("mod09: 250m Band is at Different Orbit than 500m"),
+	       _("mod09: MODIS Land General Quality Assessment"),
+	       _("mod11A1: MODIS Land General Quality Assessment"),
+	       _("mod11A1: Detailed Quality Indications"),
+	       _("mod11A1: Average Emissivity Error Classes"),
+	       _("mod11A1: Average LST Error Classes"),
+	       _("mod11A2: Detailed Quality Indications"),
+	       _("mod11A2: Average Emissivity Error Classes"),
+	       _("mod11A2: MODIS Land General Quality Assessment"),
+	       _("mod11A2: Average LST Error Classes"),
+	       _("mod09A1s: StateQA Internal Snow Mask"),
+	       _("mod09A1s: StateQA Internal Snow Mask"),
+	       _("mod09A1s: StateQA Internal Snow Mask"),
+	       _("mod09A1s: StateQA Internal Snow Mask"),
+	       _("mod09A1s: StateQA Internal Snow Mask"),
+	       _("mod09A1s: StateQA Internal Snow Mask"),
+	       _("mod09A1s: StateQA Internal Snow Mask"),
+	       _("mod09A1s: StateQA Internal Snow Mask"),
+	       _("mod09A1s: StateQA Internal Snow Mask"),
+	       _("mod09A1s: StateQA Internal Snow Mask"),
+	       _("mod09A1s: StateQA Internal Snow Mask"),
+	       _("mod13A2: MODIS Land General Quality Assessment"),
+	       _("mod13A2: Quality estimation of the pixel"),
+	       _("mod13A2: Quantity range of Aerosol"),
+	       _("mod13A2: if pixel is a cloud neighbour"),
+	       _("mod13A2: if BRDF correction performed"),
+	       _("mod13A2: if pixel mixed with clouds"),
+	       _("mod13A2: separate land from various water objects"),
+	       _("mod13A2: if snow/ice present in pixel"),
+	       _("mod13A2: if shadow is present in pixel"),
+	       _("mcd43B2: Quality of BRDF correction performed"),
+	       _("mcd43B2: Quality of BRDF correction performed"),
+	       _("mcd43B2: Quality of BRDF correction performed"),
+	       _("mcd43B2q: Quality of BRDF correction performed"));
+    qcname->descriptions = desc_qcname;
     qcname->options = "adjcorr,atcorr,cloud,data_quality,diff_orbit_from_500m,modland_qa,mandatory_qa_11A1,data_quality_flag_11A1,emis_error_11A1,lst_error_11A1,data_quality_flag_11A2,emis_error_11A2,mandatory_qa_11A2,lst_error_11A2,aerosol_quantity,brdf_correction_performed,cirrus_detected,cloud_shadow,cloud_state,internal_cloud_algorithm,internal_fire_algorithm,internal_snow_mask,land_water,mod35_snow_ice,pixel_adjacent_to_cloud,modland_qa,vi_usefulness,aerosol_quantity,pixel_adjacent_to_cloud,brdf_correction_performed,mixed_clouds,land_water,possible_snow_ice,possible_shadow,platform,land_water,sun_z_angle_at_local_noon,brdf_correction_performed";
     qcname->answer = "modland_qa";
 
@@ -203,13 +254,17 @@
     input_band->required = NO;
     input_band->description =
       _("Band number of Modis product (mod09Q1=[1,2],mod09A1=[1-7], mcd43B2q=[1-7])");
-    input_band->descriptions =_("1;Band 1: Red;"
-                                "2;Band 2: NIR;"
-                                "3;Band 3: Blue;"
-                                "4;Band 4: Green;"
-                                "5;Band 5: SWIR 1;"
-                                "6;Band 6: SWIR 2;"
-                                "7;Band 7: SWIR 3;");
+    desc_input_band = NULL;
+    G_asprintf(&desc_input_band,
+               "1;%s;2;%s;3;%s;4;%s;5;%s;6;%s;7;%s",
+	       _("Band 1: Red"),
+	       _("Band 2: NIR"),
+	       _("Band 3: Blue"),
+	       _("Band 4: Green"),
+	       _("Band 5: SWIR 1"),
+	       _("Band 6: SWIR 2"),
+	       _("Band 7: SWIR 3"));
+    input_band->descriptions = desc_input_band;
     input_band->options = "1,2,3,4,5,6,7";
     
     /********************/ 

Modified: grass/trunk/imagery/i.vi/main.c
===================================================================
--- grass/trunk/imagery/i.vi/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/imagery/i.vi/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -56,6 +56,7 @@
     int nrows, ncols;
     int row, col;
     char *viflag;		/*Switch for particular index */
+    char *desc;
     struct GModule *module;
     struct Option *input1, *input2, *input3, *input4, *input5, *input6,
 	*input7, *input8, *input9, *input10, *input11, *output;
@@ -94,21 +95,26 @@
     input1->type = TYPE_STRING;
     input1->required = YES;
     input1->description = _("Name of vegetation index");
-    input1->descriptions =_("arvi;Atmospherically Resistant Vegetation Indices;"
-			    "dvi;Difference Vegetation Index;"
-			    "evi;Enhanced Vegetation Index;"
-			    "gvi;Green Vegetation Index;"
-			    "gari;Green atmospherically resistant vegetation index;"
-			    "gemi;Global Environmental Monitoring Index;"
-			    "ipvi;Infrared Percentage Vegetation Index;"
-			    "msavi;Modified Soil Adjusted Vegetation Index;"
-			    "msavi2;second Modified Soil Adjusted Vegetation Index;"
-			    "ndvi;Normalized Difference Vegetation Index;"
-			    "pvi;Perpendicular Vegetation Index;"
-			    "savi;Soil Adjusted Vegetation Index;"
-                            "sr;Simple Ratio;"
-                            "vari;Visible Atmospherically Resistant Index;"
-			    "wdvi;Weighted Difference Vegetation Index;");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "arvi;%s;dvi;%s;evi;%s;gvi;%s;gari;%s;gemi;%s;ipvi;%s;msavi;%s;"
+	       "msavi2;%s;ndvi;%s;pvi;%s;savi;%s;sr;%s;vari;%s;wdvi;%s",
+	       _("Atmospherically Resistant Vegetation Indices"),
+	       _("Difference Vegetation Index"),
+	       _("Enhanced Vegetation Index"),
+	       _("Green Vegetation Index"),
+	       _("Green atmospherically resistant vegetation index"),
+	       _("Global Environmental Monitoring Index"),
+	       _("Infrared Percentage Vegetation IndexInfrared Percentage Vegetation Index"),
+	       _("Modified Soil Adjusted Vegetation Index"),
+	       _("second Modified Soil Adjusted Vegetation Index"),
+	       _("Normalized Difference Vegetation Index"),
+	       _("Perpendicular Vegetation Index"),
+	       _("Soil Adjusted Vegetation Index"),
+	       _("Simple Ratio"),
+	       _("Visible Atmospherically Resistant Index"),
+	       _("Weighted Difference Vegetation Index"));
+    input1->descriptions = desc;
     input1->options = "arvi,dvi,evi,gvi,gari,gemi,ipvi,msavi,msavi2,ndvi,pvi,savi,sr,vari,wdvi";
     input1->answer = "ndvi";
 

Modified: grass/trunk/misc/m.nviz.image/args.c
===================================================================
--- grass/trunk/misc/m.nviz.image/args.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/misc/m.nviz.image/args.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -815,14 +815,20 @@
 
 void args_fringe(struct GParams *params)
 {
+    char *desc;
+    
     params->fringe = G_define_option();
     params->fringe->key = "fringe";
     params->fringe->type = TYPE_STRING;
     params->fringe->options = "nw,ne,sw,se";
-    params->fringe->descriptions = _("nw;North-West edge;"
-				     "ne;North-East edge;"
-				     "sw;South-West edge;"
-				     "se;South-East edge");
+    desc = NULL;
+    G_asprintf(&desc,
+	        "nw;%s;ne;%s;sw;%s;se;%s",
+	        _("North-West edge"),
+	        _("North-East edge"),
+	        _("South-West edge"),
+	        _("South-East edge"));
+    params->fringe->descriptions = desc;
     params->fringe->description = _("Fringe edges");
     params->fringe->guisection = _("Fringe");
     params->fringe->multiple = YES;

Modified: grass/trunk/misc/m.transform/main.c
===================================================================
--- grass/trunk/misc/m.transform/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/misc/m.transform/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -307,6 +307,7 @@
     struct Option *grp, *val, *fmt, *xfm_pts;
     struct Flag *sum, *rev_flag, *dump_flag;
     struct GModule *module;
+    char *desc;
 
     G_gisinit(argv[0]);
 
@@ -333,15 +334,19 @@
     fmt->required = NO;
     fmt->multiple = YES;
     fmt->options = "idx,src,dst,fwd,rev,fxy,rxy,fd,rd";
-    fmt->descriptions = _("idx;point index;"
-			  "src;source coordinates;"
-			  "dst;destination coordinates;"
-			  "fwd;forward coordinates (destination);"
-			  "rev;reverse coordinates (source);"
-			  "fxy;forward coordinates difference (destination);"
-			  "rxy;reverse coordinates difference (source);"
-			  "fd;forward error (destination);"
-			  "rd;reverse error (source)");
+    desc = NULL;
+    G_asprintf(&desc,
+	        "idx;%s;src;%s;dst;%s;fwd;%s;rev;%s;fxy;%s;rxy;%s;fd;%s;rd;%s",
+	        _("point index"),
+	        _("source coordinates"),
+	        _("destination coordinates"),
+	        _("forward coordinates (destination)"),
+	        _("reverse coordinates (source)"),
+	        _("forward coordinates difference (destination)"),
+	        _("reverse coordinates difference (source)"),
+	        _("forward error (destination)"),
+	        _("reverse error (source)"));
+    fmt->descriptions = desc;
     fmt->answer = "fd,rd";
     fmt->description = _("Output format");
 

Modified: grass/trunk/raster/r.report/parse.c
===================================================================
--- grass/trunk/raster/r.report/parse.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/raster/r.report/parse.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -9,6 +9,7 @@
     char pl_desc[256];
     char pw_desc[256];
     int i;
+    char *desc;
     struct
     {
 	struct Option *cell;
@@ -43,9 +44,17 @@
     parms.units->required = NO;
     parms.units->multiple = YES;
     parms.units->description = _("Units");
-    parms.units->descriptions =
-	_("mi;miles;me;meters;k;kilometers;a;acres;"
-	  "h;hectares;c;cell counts;p;percent cover");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "mi;%s;me;%s;k;%s;a;%s;h;%s;c;%s;p;%s",
+	       _("miles"),
+	       _("meters"),
+	       _("kilometers"),
+	       _("acres"),
+	       _("hectares"),
+	       _("cell counts"),
+	       _("percent cover"));
+    parms.units->descriptions = desc;
     parms.units->options = "mi,me,k,a,h,c,p";
     parms.units->guisection = _("Output settings");
 

Modified: grass/trunk/raster/r.usler/main.c
===================================================================
--- grass/trunk/raster/r.usler/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/raster/r.usler/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -34,6 +34,7 @@
     struct GModule *module;
     struct Option *input1, *input2, *output;
     struct History history;	/*metadata */
+    char *desc;
 
     /************************************/ 
     char *result;		/*output raster name */
@@ -67,10 +68,14 @@
     input1->required = YES;
     input1->description = _("Name of USLE R equation");
     input1->options = "roose, morgan, foster, elswaify";
-    input1->descriptions = _("roose;Roosle (1975);"
-			     "morgan;Morgan (1974);"
-			     "foster;Foster (1981);"
-			     "elswaify;El-Swaify (1985)");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "roose;%s;morgan;%s;foster;%s;elswaify;%s",
+	       _("Roosle (1975)"),
+	       _("Morgan (1974)"),
+	       _("Foster (1981)"),
+	       _("El-Swaify (1985)"));
+    input1->descriptions = desc;
     input1->answer = "morgan";
 
     /********************/ 

Modified: grass/trunk/vector/v.build.polylines/main.c
===================================================================
--- grass/trunk/vector/v.build.polylines/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.build.polylines/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -94,6 +94,7 @@
     struct Option *output;
     struct Option *cats;
     struct Option *type_opt;
+    char *desc;
 
     int polyline;
     int *lines_visited;
@@ -123,9 +124,13 @@
     cats->type = TYPE_STRING;
     cats->description = _("Category number mode");
     cats->options = "no,first,multi";
-    cats->descriptions = _("no;Do not assign any category number to polyline;"
-			   "first;Assign category number of first line to polyline;"
-			   "multi;Assign multiple category numbers to polyline");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "no;%s;first;%s;multi;%s",
+	       _("Do not assign any category number to polyline"),
+	       _("Assign category number of first line to polyline"),
+	       _("Assign multiple category numbers to polyline"));
+    cats->descriptions = desc;
     cats->answer = "no";
 
     type_opt = G_define_standard_option(G_OPT_V_TYPE);

Modified: grass/trunk/vector/v.category/main.c
===================================================================
--- grass/trunk/vector/v.category/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.category/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -68,6 +68,7 @@
     struct Flag *shell;
     FREPORT **freps;
     int nfreps, rtype, fld;
+    char *desc;
 
     module = G_define_module();
     G_add_keyword(_("vector"));
@@ -98,13 +99,23 @@
     option_opt->multiple = NO;
     option_opt->options = "add,del,chlayer,sum,report,print,transfer";
     option_opt->description = _("Action to be done");
-    option_opt->descriptions = _("add;add a new category;"
-				 "del;delete category (-1 to delete all categories of given layer);"
-				 "chlayer;change layer number (e.g. layer=3,1 changes layer 3 to layer 1);"
-				 "sum;add the value specified by cat option to the current category value;"
-				 "transfer;copy values from one layer to another (e.g. layer=1,2,3 copies values from layer 1 to layer 2 and 3);"
-				 "report;print report (statistics), in shell style: layer type count min max;"
-				 "print;print category values, more cats in the same layer are separated by '/'");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "add;%s;"
+	       "del;%s;"
+	       "chlayer;%s;"
+	       "sum;%s;"
+	       "transfer;%s;"
+	       "report;%s;"
+	       "print;%s",
+	       _("add a new category"),
+	       _("delete category (-1 to delete all categories of given layer)"),
+	       _("change layer number (e.g. layer=3,1 changes layer 3 to layer 1)"),
+	       _("add the value specified by cat option to the current category value"),
+	       _("copy values from one layer to another (e.g. layer=1,2,3 copies values from layer 1 to layer 2 and 3)"),
+	       _("print report (statistics), in shell style: layer type count min max"),
+	       _("print category values, more cats in the same layer are separated by '/'"));
+    option_opt->descriptions = desc;
     
     cat_opt = G_define_standard_option(G_OPT_V_CAT);
     cat_opt->answer = "1";

Modified: grass/trunk/vector/v.class/main.c
===================================================================
--- grass/trunk/vector/v.class/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.class/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -39,6 +39,7 @@
     double finfo;
     double *classbreaks, min, max, *data;
     struct GASTATS stats;
+    char *desc;
 
     module = G_define_module();
     G_add_keyword(_("vector"));
@@ -64,11 +65,19 @@
     algo_opt->multiple = NO;
     algo_opt->options = "int,std,qua,equ,dis";
     algo_opt->description = _("Algorithm to use for classification");
-    algo_opt->descriptions = _("int;simple intervals;"
-			       "std;standard deviations;"
-			       "qua;quantiles;"
-			       "equ;equiprobable (normal distribution);");
-/*			       "dis;discontinuities"); currently disabled because of bugs*/
+    desc = NULL;
+    G_asprintf(&desc,
+	       "int;%s;"
+	       "std;%s;"
+	       "qua;%s;"
+	       "equ;%s",
+	       /* "dis;%s" */
+	       _("simple intervals"),
+	       _("standard deviations"),
+	       _("quantiles"),
+	       _("equiprobable (normal distribution)"));
+	       /* _("discontinuities"));currently disabled because of bugs */
+    algo_opt->descriptions = desc;
 
     nbclass_opt = G_define_option();
     nbclass_opt->key = "nbclasses";

Modified: grass/trunk/vector/v.distance/main.c
===================================================================
--- grass/trunk/vector/v.distance/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.distance/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -47,6 +47,7 @@
     struct {
 	struct Flag *print, *all;
     } flag;
+    char *desc;
     struct Map_info From, To, Out, *Outp;
     int from_type, to_type, from_field, to_field;
     double max, min;
@@ -148,23 +149,32 @@
     opt.upload->options = "cat,dist,to_x,to_y,to_along,to_angle,to_attr";
     opt.upload->description =
 	_("Values describing the relation between two nearest features");
-    opt.upload->descriptions =
-	_("cat;category of the nearest feature;"
-	  "dist;minimum distance to nearest feature;"
-	  "to_x;x coordinate of the nearest point on the 'to' feature;"
-	  "to_y;y coordinate of the nearest point on the 'to' feature;"
-	  "to_along;distance to the nearest point on the 'to' feature along "
-	     "that linear feature;"
-	  "to_angle;angle along the nearest linear feature in the 'to' map, "
-	     "measured CCW from the +x axis, in radians, between -Pi and Pi "
-	     "inclusive;"
-	  "to_attr;attribute of nearest feature given by to_column option");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "cat;%s;"
+	       "dist;%s;"
+	       "to_x;%s;"
+	       "to_y;%s;"
+	       "to_along;%s;"
+	       "to_angle;%s;"
+	       "to_attr;%s",
+	       _("category of the nearest feature"),
+	       _("minimum distance to nearest feature"),
+	       _("x coordinate of the nearest point on the 'to' feature"),
+	       _("y coordinate of the nearest point on the 'to' feature"),
+	       _("distance to the nearest point on the 'to' feature along "
+		 "that linear feature"),
+	       _("angle along the nearest linear feature in the 'to' map, "
+		 "measured CCW from the +x axis, in radians, between -Pi and Pi "
+		 "inclusive"),
+	       _("attribute of nearest feature given by to_column option"));
     /*  "from_x - x coordinate of the nearest point on 'from' feature;" */
     /*  "from_y - y coordinate of the nearest point on 'from' feature;" */
     /* "from_along - distance to the nearest point on 'from' feature along linear feature;" */
     /* "from_angle - angle between the linear feature in 'to' map and the +x "
 	"axis, at the location of point/centroid in 'from' map, CCW, in "
 	"radians, between -Pi and Pi inclusive;" */
+    opt.upload->descriptions = desc;
 
     opt.column = G_define_standard_option(G_OPT_DB_COLUMN);
     opt.column->required = YES;

Modified: grass/trunk/vector/v.drape/main.c
===================================================================
--- grass/trunk/vector/v.drape/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.drape/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -114,6 +114,7 @@
     struct GModule *module;
     struct Option *in_opt, *out_opt, *type_opt, *rast_opt, *method_opt,
 	*scale_opt, *where_opt, *layer_opt, *null_opt;
+    char *desc;
 
     struct Map_info In, Out;
     struct line_pnts *Points;
@@ -165,9 +166,13 @@
     method_opt->multiple = NO;
     method_opt->options = "nearest,bilinear,cubic";
     method_opt->answer = "nearest";
-    method_opt->descriptions = "nearest;nearest neighbor;"
-	"bilinear;bilinear interpolation;"
-	"cubic;cubic convolution interpolation;";
+    desc = NULL;
+    G_asprintf(&desc,
+	       "nearest;%s;bilinear;%s;cubic;%s",
+	       _("nearest neighbor"),
+	       _("bilinear interpolation"),
+	       _("cubic convolution interpolation"));
+    method_opt->descriptions = desc;
     method_opt->description = _("Sampling method");
     
     scale_opt = G_define_option();

Modified: grass/trunk/vector/v.edit/args.c
===================================================================
--- grass/trunk/vector/v.edit/args.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.edit/args.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -13,8 +13,8 @@
 int parser(int argc, char *argv[], struct GParams *params,
 	   enum mode *action_mode)
 {
-    char *desc;
-    
+    char *desc_tool, *desc_query, *desc_snap;
+
     /* parameters */
     params->map = G_define_standard_option(G_OPT_V_MAP);
     params->map->label = _("Name of vector map to edit");
@@ -34,8 +34,8 @@
     params->tool->required = YES;
     params->tool->multiple = NO;
     params->tool->description = _("Tool");
-    desc = NULL;
-    G_asprintf(&desc,
+    desc_tool = NULL;
+    G_asprintf(&desc_tool,
 	       "create;%s;"
 	       "add;%s;"
 	       "delete;%s;"
@@ -77,7 +77,7 @@
 		 "vector lines)"),
 	       _("Change feature type (point<->centroid, line<->boundary)"),
 	       _("Delete selected areas from vector map (based on selected centroids)"));
-    params->tool->descriptions = desc;
+    params->tool->descriptions = desc_tool;
     params->tool->options = "create,add,delete,copy,move,flip,catadd,catdel,"
 	"merge,break,snap,connect,chtype,"
 	"vertexadd,vertexdel,vertexmove,areadel,zbulk,select";
@@ -153,10 +153,14 @@
     params->query->description =
 	_("For 'shorter' use negative threshold value, "
 	  "positive value for 'longer'");
-    params->query->descriptions =
-	_("length;Select only lines or boundaries shorter"
-	  "/longer than threshold distance;"
-	  "dangle;Select dangles shorter/longer than " "threshold distance");
+    desc_query = NULL;
+    G_asprintf(&desc_query,
+               "length;%s;"
+	       "dangle;%s",
+	       _("Select only lines or boundaries shorter"
+		 "/longer than threshold distance"),
+	       _("Select dangles shorter/longer than threshold distance"));
+    params->query->descriptions = desc_query;
     params->query->guisection = _("Selection");
 
     params->bmaps = G_define_standard_option(G_OPT_V_MAPS);
@@ -170,9 +174,15 @@
     params->snap->options = "no,node,vertex";
     params->snap->description =
 	_("Snap added or modified features in the given threshold to the nearest existing feature");
-    params->snap->descriptions =
-	_("no;Not apply snapping;" "node;Snap only to node;"
-	  "vertex;Allow snapping also to vertex");
+    desc_snap = NULL;
+    G_asprintf(&desc_snap,
+	       "no;%s;"
+	       "node;%s;"
+	       "vertex;%s",
+	       _("Not apply snapping"),
+	       _("Snap only to node"),
+	       _("Allow snapping also to vertex"));
+    params->snap->descriptions = desc_snap;
     params->snap->answer = "no";
 
     params->zbulk = G_define_option();

Modified: grass/trunk/vector/v.in.ascii/main.c
===================================================================
--- grass/trunk/vector/v.in.ascii/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.in.ascii/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -38,6 +38,7 @@
 	*region_flag;
     char *table;
     char *fs;
+    char *desc;
     int zcoor = WITHOUT_Z, make_table;
 
     struct Map_info Map;
@@ -63,8 +64,12 @@
     format_opt->required = NO;
     format_opt->multiple = NO;
     format_opt->options = "point,standard";
-    format_opt->descriptions = _("point;simple x,y[,z] list;"
-				 "standard;GRASS vector ASCII format");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "point;%s;standard;%s",
+	       _("simple x,y[,z] list"),
+	       _("GRASS vector ASCII format"));
+    format_opt->descriptions = desc;
     format_opt->answer = "point";
     format_opt->description = _("Input file format");
     format_opt->guisection = _("Input format");

Modified: grass/trunk/vector/v.in.ogr/main.c
===================================================================
--- grass/trunk/vector/v.in.ogr/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.in.ogr/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -59,6 +59,8 @@
 	struct Flag *over, *extend, *formats, *tolower, *no_import;
     } flag;
 
+    char *desc;
+
     int i, j, layer, arg_s_num, nogeom, ncnames;
     float xmin, ymin, xmax, ymax;
     int ncols = 0, type;
@@ -176,11 +178,14 @@
     param.type->options = "point,line,boundary,centroid";
     param.type->answer = "";
     param.type->description = _("Optionally change default input type");
-    param.type->descriptions =
-	_("point;import area centroids as points;"
-	  "line;import area boundaries as lines;"
-	  "boundary;import lines as area boundaries;"
-	  "centroid;import points as centroids");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "point;%s;line;%s;boundary;%s;centroid;%s",
+	       _("import area centroids as points"),
+	       _("import area boundaries as lines"),
+	       _("import lines as area boundaries"),
+	       _("import points as centroids"));
+    param.type->descriptions = desc;
     param.type->guisection = _("Selection");
 
     param.snap = G_define_option();

Modified: grass/trunk/vector/v.kernel/main.c
===================================================================
--- grass/trunk/vector/v.kernel/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.kernel/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -78,6 +78,7 @@
     struct Option *stddev_opt, *dsize_opt, *segmax_opt, *netmax_opt,
 	*multip_opt, *node_opt, *kernel_opt;
     struct Flag *flag_o, *flag_q, *flag_normalize, *flag_multiply;
+    char *desc;
 
     struct Map_info In, Net, Out;
     int fdout = -1, maskfd = -1;
@@ -165,9 +166,12 @@
     node_opt->description = _("Node method");
     node_opt->options = "none,split";
     node_opt->answer = "none";
-    node_opt->descriptions =
-	_("none;No method applied at nodes with more than 2 arcs;"
-	  "split;Equal split (Okabe 2009) applied at nodes;");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "none;%s;split;%s",
+	       _("No method applied at nodes with more than 2 arcs"),
+	       _("Equal split (Okabe 2009) applied at nodes"));
+    node_opt->descriptions = desc;
 
     kernel_opt = G_define_option();
     kernel_opt->key = "kernel";

Modified: grass/trunk/vector/v.mkgrid/main.c
===================================================================
--- grass/trunk/vector/v.mkgrid/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.mkgrid/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -48,6 +48,7 @@
     struct GModule *module;
     struct Flag *points_fl;
     int points_p;
+    char *desc;
 
     struct line_pnts *Points;
     struct line_cats *Cats;
@@ -85,8 +86,12 @@
     position_opt->options = "region,coor";
     position_opt->answer = "region";
     position_opt->description = _("Where to place the grid");
-    position_opt->descriptions = _("region;current region;"
-				   "coor;use 'coor' and 'box' options");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "region;%s;coor;%s",
+	       _("current region"),
+	       _("use 'coor' and 'box' options"));
+    position_opt->descriptions = desc;
 
     coord = G_define_option();
     coord->key = "coor";

Modified: grass/trunk/vector/v.net/args.c
===================================================================
--- grass/trunk/vector/v.net/args.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.net/args.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -7,6 +7,8 @@
 
 void define_options(struct opt *opt)
 {
+    char *desc;
+    
     opt->input = G_define_standard_option(G_OPT_V_INPUT);
     opt->input->required = NO;
     opt->input->label = _("Name of input vector line map (arcs)");
@@ -32,22 +34,20 @@
     opt->action->multiple = NO;
     opt->action->options = "nodes,connect,arcs,report,nreport";
     opt->action->description = _("Operation to be performed");
-    opt->action->descriptions =
-	_("nodes;"
-	  "new point is placed on each node (line end) "
-	  "if doesn't exist;"
-	  "connect;"
-	  "connect still unconnected points to vector network "
-	  "by inserting new line(s);"
-	  "arcs;"
-	  "new line is created from start point "
-	  "to end point;"
-	  "report;"
-	  "print to standard output "
-	  "{line_category start_point_category end_point_category};"
-	  "nreport;"
-	  "print to standard output "
-	  "{point_category line_category[,line_category...]}");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "nodes;%s;connect;%s;arcs;%s;report;%s;nreport;%s",
+	       _("new point is placed on each node (line end) "
+		 "if doesn't exist"),
+	       _("connect still unconnected points to vector network "
+		 "by inserting new line(s)"),
+	       _("new line is created from start point "
+		 "to end point"),
+	       _("print to standard output "
+		 "{line_category start_point_category end_point_category}"),
+	       _("print to standard output "
+		 "{point_category line_category[,line_category...]}"));
+    opt->action->descriptions = desc;
 
     opt->afield_opt = G_define_standard_option(G_OPT_V_FIELD);
     opt->afield_opt->key = "alayer";

Modified: grass/trunk/vector/v.net.bridge/main.c
===================================================================
--- grass/trunk/vector/v.net.bridge/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.net.bridge/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -32,6 +32,7 @@
     struct Option *map_in, *map_out;
     struct Option *afield_opt, *nfield_opt, *abcol, *afcol, *ncol,
                   *method_opt;
+    char *desc;
     int with_z;
     int afield, nfield, mask_type;
     dglGraph_s *graph;
@@ -91,8 +92,12 @@
     method_opt->required = YES;
     method_opt->multiple = NO;
     method_opt->options = "bridge,articulation";
-    method_opt->descriptions = _("bridge;Finds bridges;"
-				 "articulation;Finds articulation points;");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "bridge;%s;articulation;%s",
+	       _("Finds bridges"),
+	       _("Finds articulation points"));
+    method_opt->descriptions = desc;
     method_opt->description = _("Feature type");
 
     /* options and flags parser */

Modified: grass/trunk/vector/v.net.components/main.c
===================================================================
--- grass/trunk/vector/v.net.components/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.net.components/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -56,6 +56,7 @@
     dglGraph_s *graph;
     int *component, nnodes, type, i, nlines, components, j, max_cat;
     char buf[2000], *covered;
+    char *desc;
 
     /* Attribute table */
     dbString sql;
@@ -116,8 +117,12 @@
     method_opt->required = YES;
     method_opt->multiple = NO;
     method_opt->options = "weak,strong";
-    method_opt->descriptions = _("weak;Weakly connected components;"
-				 "strong;Strongly connected components;");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "weak;%s;strong;%s",
+	       _("Weakly connected components"),
+	       _("Strongly connected components"));
+    method_opt->descriptions = desc;
     method_opt->description = _("Type of components");
 
     add_f = G_define_flag();

Modified: grass/trunk/vector/v.out.ascii/args.c
===================================================================
--- grass/trunk/vector/v.out.ascii/args.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.out.ascii/args.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -16,6 +16,8 @@
 	*field_opt, *column_opt, *where_opt, *cats_opt, *type_opt;
     struct Flag *old_flag, *header_flag, *region_flag;
     
+    char * desc;
+    
     input_opt = G_define_standard_option(G_OPT_V_INPUT);
 
     field_opt = G_define_standard_option(G_OPT_V_FIELD);
@@ -49,9 +51,13 @@
     format_opt->options = "point,standard,wkt";
     format_opt->answer = "point";
     format_opt->description = _("Output format");
-    format_opt->descriptions = _("point;Simple point format (point per row);"
-				 "standard;GRASS ASCII vector format;"
-				 "wkt;OGC well-known text;");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "point;%s;standard;%s;wkt;%s",
+	       _("Simple point format (point per row)"),
+	       _("GRASS ASCII vector format"),
+	       _("OGC well-known text"));
+    format_opt->descriptions = desc;
 
     delim_opt = G_define_standard_option(G_OPT_F_SEP);
     delim_opt->description = _("Field separator (points mode)");

Modified: grass/trunk/vector/v.overlay/main.c
===================================================================
--- grass/trunk/vector/v.overlay/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.overlay/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -40,6 +40,7 @@
     struct Map_info In[2], Out;
     struct line_pnts *Points;
     struct line_cats *Cats;
+    char *desc;
 
     struct field_info *Fi = NULL;
     char buf[1000];
@@ -96,13 +97,16 @@
 	  "of operation 'ainput operator binput' is true. "
 	  "Input feature is considered to be true, if "
 	  "category of given layer is defined.");
-    operator_opt->descriptions =
-	_("and;also known as 'intersection' in GIS;"
-	  "or;also known as 'union' in GIS (only for atype=area);"
-	  "not;features from ainput not overlayed by features " "from binput;"
-	  "xor;features from either ainput or binput but "
-	  "not those from ainput overlayed by binput (only "
-	  "for atype=area)");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "and;%s;or;%s;not;%s;xor;%s",
+	       _("also known as 'intersection' in GIS"),
+	       _("also known as 'union' in GIS (only for atype=area)"),
+	       _("features from ainput not overlayed by features from binput"),
+	       _("features from either ainput or binput but "
+		 "not those from ainput overlayed by binput (only "
+		 "for atype=area)"));
+    operator_opt->descriptions = desc;
 
     out_opt = G_define_standard_option(G_OPT_V_OUTPUT);
     

Modified: grass/trunk/vector/v.parallel/main.c
===================================================================
--- grass/trunk/vector/v.parallel/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.parallel/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -35,6 +35,8 @@
     struct Map_info In, Out;
     struct line_pnts *Points, *Points2, *oPoints, **iPoints;
     struct line_cats *Cats;
+    
+    char *desc;
 
     int line, nlines, inner_count, j;
     int layer;
@@ -87,10 +89,13 @@
     side_opt->multiple = NO;
     side_opt->options = "left,right,both";
     side_opt->description = _("Side");
-    side_opt->descriptions =
-	_("left;Parallel line is on the left;"
-	  "right;Parallel line is on the right;"
-	  "both;Parallel lines on both sides");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "left;%s;right;%s;both;%s",
+	       _("Parallel line is on the left"),
+	       _("Parallel line is on the right"),
+	       _("Parallel lines on both sides"));
+    side_opt->descriptions = desc;
 
     tol_opt = G_define_option();
     tol_opt->key = "tolerance";

Modified: grass/trunk/vector/v.select/args.c
===================================================================
--- grass/trunk/vector/v.select/args.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.select/args.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -6,6 +6,8 @@
 
 void parse_options(struct GParm *parm, struct GFlag *flag)
 {
+    char *desc;
+
     parm->input[0] = G_define_standard_option(G_OPT_V_INPUT);
     parm->input[0]->description = _("Name of input vector map (A)");
     parm->input[0]->key = "ainput";
@@ -47,24 +49,40 @@
 	_("A feature is written to output if the result of operation 'ainput operator binput' is true. "
 	  "An input feature is considered to be true, if category of given layer is defined.");
     parm->operator->answer = "overlap";
+    desc = NULL;
 #ifndef HAVE_GEOS
     parm->operator->options = "overlap";
-    parm->operator->descriptions = _("overlap;features partially or completely overlap");
+    G_asprintf(&desc,
+               "overlap;%s",
+               _("features partially or completely overlap"));
+    parm->operator->descriptions = desc;
 
     parm->relate = NULL;
 #else
+    G_asprintf(&desc,
+	       "overlap;%s;"
+	       "equals;%s;"
+	       "disjoint;%s;"
+	       "intersects;%s;"
+	       "touches;%s;"
+	       "crosses;%s;"
+	       "within;%s;"
+	       "contains;%s;"
+	       "overlaps;%s;"
+	       "relate;%s;",
+	       _("features partially or completely overlap"),
+	       _("features are spatially equals (using GEOS)"),
+	       _("features do not spatially intersect (using GEOS)"),
+	       _("features spatially intersect (using GEOS)"),
+	       _("features spatially touches (using GEOS)"),
+	       _("features spatially crosses (using GEOS)"),
+	       _("feature A is completely inside feature B (using GEOS)"),
+	       _("feature B is completely inside feature A (using GEOS)"),
+	       _("features spatially overlap (using GEOS)"),
+	       _("feature A is spatially related to feature B (using GEOS, "
+		 "requires 'relate' option)"));
     parm->operator->options = "overlap,equals,disjoint,intersects,touches,crosses,within,contains,overlaps,relate";
-    parm->operator->descriptions = _("overlap;features partially or completely overlap;"
-				     "equals;features are spatially equals (using GEOS);"
-				    "disjoint;features do not spatially intersect (using GEOS);"
-				    "intersects;features spatially intersect (using GEOS);"
-				    "touches;features spatially touches (using GEOS);"
-				    "crosses;features spatially crosses (using GEOS);"
-				    "within;feature A is completely inside feature B (using GEOS);"
-				    "contains;feature B is completely inside feature A (using GEOS);"
-				    "overlaps;features spatially overlap (using GEOS);"
-				    "relate;feature A is spatially related to feature B (using GEOS, "
-				    "requires 'relate' option);");
+    parm->operator->descriptions = desc;
     
     parm->relate = G_define_option();
     parm->relate->key = "relate";

Modified: grass/trunk/vector/v.to.db/parse.c
===================================================================
--- grass/trunk/vector/v.to.db/parse.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.to.db/parse.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -27,6 +27,7 @@
     {
 	struct Flag *p, *s, *t;
     } flags;
+    char *desc;
 
     parms.vect = G_define_standard_option(G_OPT_V_MAP);
 
@@ -54,26 +55,43 @@
     parms.option->options =
 	"cat,area,compact,fd,perimeter,length,count,coor,start,end,sides,query,slope,sinuous,azimuth";
     parms.option->description = _("Value to upload");
-    parms.option->descriptions =
-	"cat;insert new row for each category if doesn't exist yet;"
-	"area;area size;"
-	"compact;compactness of an area, calculated as \n"
-	"              compactness = perimeter / (2 * sqrt(PI * area));"
-	"fd;fractal dimension of boundary defining a polygon, calculated as \n"
-	"              fd = 2 * (log(perimeter) / log(area));"
-	"perimeter;perimeter length of an area;"
-	"length;line length;"
-	"count;number of features for each category;"
-	"coor;point coordinates, X,Y or X,Y,Z;"
-	"start;line/boundary starting point coordinates, X,Y or X,Y,Z;"
-	"end;line/boundary end point coordinates, X,Y or X,Y,Z;"
-	"sides;categories of areas on the left and right side of the boundary, "
-	"'qlayer' is used for area category;"
-	"query;result of a database query for all records of the geometry"
-	"(or geometries) from table specified by 'qlayer' option;"
-	"slope;slope steepness of vector line or boundary;"
-	"sinuous;line sinuousity, calculated as line length / distance between end points;"
-	"azimuth;line azimuth, calculated as angle between North direction and endnode direction at startnode";
+    desc = NULL;
+    G_asprintf(&desc,
+	       "cat;%s;"
+	       "area;%s;"
+	       "compact;%s;"
+	       "fd;%s;"
+	       "perimeter;%s;"
+	       "length;%s;"
+	       "count;%s;"
+	       "coor;%s;"
+	       "start;%s;"
+	       "end;%s;"
+	       "sides;%s;"
+	       "query;%s;"
+	       "slope;%s;"
+	       "sinuous;%s;"
+	       "azimuth;%s;",
+	       _("insert new row for each category if doesn't exist yet"),
+	       _("area size"),
+	       _("compactness of an area, calculated as \n"
+		 "              compactness = perimeter / (2 * sqrt(PI * area))"),
+	       _("fractal dimension of boundary defining a polygon, calculated as \n"
+		 "              fd = 2 * (log(perimeter) / log(area))"),
+	       _("perimeter length of an area"),
+	       _("line length"),
+	       _("number of features for each category"),
+	       _("point coordinates, X,Y or X,Y,Z"),
+	       _("line/boundary starting point coordinates, X,Y or X,Y,Z"),
+	       _("line/boundary end point coordinates, X,Y or X,Y,Z"),
+	       _("categories of areas on the left and right side of the boundary, "
+		 "'qlayer' is used for area category"),
+	       _("result of a database query for all records of the geometry"
+		 "(or geometries) from table specified by 'qlayer' option"),
+	       _("slope steepness of vector line or boundary"),
+	       _("line sinuousity, calculated as line length / distance between end points"),
+	       _("line azimuth, calculated as angle between North direction and endnode direction at startnode"));
+    parms.option->descriptions = desc;
 
     parms.units = G_define_standard_option(G_OPT_M_UNITS);
     parms.units->options =

Modified: grass/trunk/vector/v.to.rast/main.c
===================================================================
--- grass/trunk/vector/v.to.rast/main.c	2012-08-12 10:33:51 UTC (rev 52636)
+++ grass/trunk/vector/v.to.rast/main.c	2012-08-12 14:29:08 UTC (rev 52637)
@@ -33,6 +33,7 @@
 	*val_opt, *rgbcol_opt, *label_opt, *type_opt;
     int nrows, use, value_type, type;
     double value;
+    char *desc;
 
     G_gisinit(argv[0]);
 
@@ -61,11 +62,15 @@
     use_opt->multiple = NO;
     use_opt->options = "attr,cat,val,z,dir";
     use_opt->description = _("Source of raster values");
-    use_opt->descriptions = _("attr;read values from attribute table;"
-			      "cat;use category values;"
-			      "val;use value specified by value option;"
-			      "z;use z coordinate (points or contours only);"
-			      "dir;output as flow direction (lines only)");
+    desc = NULL;
+    G_asprintf(&desc,
+	       "attr;%s;cat;%s;val;%s;z;%s;dir;%s",
+	       _("read values from attribute table"),
+	       _("use category values"),
+	       _("use value specified by value option"),
+	       _("use z coordinate (points or contours only)"),
+	       _("output as flow direction (lines only)"));
+    use_opt->descriptions = desc;
 
     col = G_define_standard_option(G_OPT_DB_COLUMN);
     col->key = "attrcolumn";



More information about the grass-commit mailing list